如何在odoo 10中为按钮点击事件添加java脚本处理程序?

时间:2017-07-18 13:02:44

标签: javascript openerp odoo-9

我想使用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',function(require){         “严格使用”;         var Class = require('web.Class');         var Widget = require('web.Widget');         var core = require('web.core');         var utils = require('web.utils');

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

2 个答案:

答案 0 :(得分:1)

首先我建议你给Object一些ID属性,你想要使用。 像

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

JQuery的:

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

答案 1 :(得分: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>  
希望它有所帮助。