2017-07-18 14 views
0

私は、Javaスクリプトを使用してヘッダのボタンのハンドラを作りたいと思います。私のビューモデルは以下の通りです:odoo 10のボタンクリックイベントのJavaスクリプトハンドラを追加する方法は?

 <template id="assets_backend" name="petstore" 
     inherit_id="web.assets_backend"> 
     <xpath expr="." position="inside"> 

    <script type="text/javascript" 
     src="/mypetstore/static/src/js/model_access.js"> 
    </script> 

    <link href="/mypetstore/static/src/css/petstore.css" 
     rel="stylesheet"> 
    </link> 
     </xpath> 
    </template> 



    <record model="ir.ui.view" id="my_pet_store_form"> 
     <field name="name">my_pet_store_form</field> 
     <field name="model">petstore.message</field> 
     <field name="type">form</field> 
     <field name="arch" type="xml"> 
     <header> 
     <button name="click_me" string="Click" 
       class="oe_highlight"/> 
     </header> 
      <form string="Message of the day"> 

       <group col="2"> 
        <group> 
         <field name="data"/> 
        </group> 
       </group> 
      </form> 
      </field> 
     </record> 

ユーザーが「click_me」ボタンをクリックすると、単純なjavascript関数またはアクションクライアントが呼び出されます。アラートを印刷するだけです。 JS部: odoo.define( 'mypetstore.model_access'、関数(必要){ "は厳密を使用"; VARクラス=( 'web.Class')を必要とする; VARウィジェットは=必要とする( 'web.Widget' ); VARコア=( 'web.core')を必要とします。 のvarのutils =が( 'web.utils')が必要です。

jq('#click_me').bind('click', function(){ 
     alert("hello"); 
     }); 
    }); 
+0

: jQueryの

<button name="click_me" id="click_me" string="Click" class="oe_highlight"/> 

のような。 –

答えて

0

これはあなたのボタンがすべきどのように見えるかで、ちょうどonclickシューッという音がある追加のごハンドラ。

  <header> 
      <button onclick="myFunction()" name="click_me" string="Click" 
       class="oe_highlight"/> 
     </header> 

myFunction()はあなたのJavaScriptコードになります。

今のアラートコードは、これを次のようになります。

<script type = "text/ javascript"> 
    function myFunction() { 
    alert("Hello! I am an alert box!!"); 
    } 
</script> 

はそれが役に立てば幸い。

1

まず、オブジェクトにID属性を与えることをお勧めします。それは "JavaScriptの" ではなく、 "Javaスクリプト" だ

jq('#click_me').bind('click', function(){ 
    alert("hello"); 
}); 
+0

エラー:「エラー:一部のモジュールを起動できませんでした」 – NidhinMohanCheriyan

+0

jsファイルにこのコードを追加してエラーが発生しました。私は上記のコード – NidhinMohanCheriyan

+0

を使用して私のjsコードを書いた代わりに、私はjqにJQueryオブジェクトの名前を変更しました。 、迷惑をおかけして申し訳ありません 代わりに、 JQ(「#のclick_me」) 使用 $(「#のclick_me」) –

関連する問題