2017-07-18 67 views
0

我想使用java腳本爲header中的按鈕創建一個處理程序。下面我視圖模型給出:如何爲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的widget =要求( 'web.Widget' ); VAR核心=需要( 'web.core'); VAR utils的要求=( 'web.utils');

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

這是 「JavaScript的」,而不是 「Java腳本」。 – 2017-07-18 13:27:32

回答

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屬性給對象,你想使用。 像

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

JQuery的:

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

獲取錯誤:「錯誤:某些模塊無法啓動」 – NidhinMohanCheriyan

+0

我在我的js文件中添加了這段代碼,並收到錯誤消息。我已經用上面的代碼編寫了我的js代碼 – NidhinMohanCheriyan

+0

使用$來代替,我已經將jQuery對象重命名爲jq。很抱歉不便, 相反, JQ( '#click_me') 使用 $( '#click_me') –

相關問題