简体   繁体   English

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

[英]How to add a java script handler for button click event in odoo 10?

I want to make a handler for button in header using java script. 我想使用Java脚本为标题中的按钮创建一个处理程序。 My view model is given below : 我的视图模型如下:

     <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>

When user click on 'click_me' button, then it call a simple javascript function or action client. 当用户单击“ click_me”按钮时,它将调用一个简单的javascript函数或动作客户端。 Just print an alert. 只需打印警报。 JS part : odoo.define('mypetstore.model_access', function (require) { "use strict"; var Class = require('web.Class'); var Widget = require('web.Widget'); var core = require('web.core'); var utils = require('web.utils'); JS部分:odoo.define('mypetstore.model_access',function(require){“ use strict”; 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");
      });  
    });

First I would suggest you to give some ID attribute to Object, you want to use. 首先,我建议您为要使用的对象提供一些ID属性。 like 喜欢

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

JQuery: jQuery的:

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

This is how your button should looks like, just add onclick whish is your handler. 这就是您的按钮的外观,只需添加onclick即可。

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

myFunction() will be your javascript code. myFunction()将是您的JavaScript代码。

Now the alert code will be this: 现在,警报代码将如下所示:

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

hope it helps. 希望能帮助到你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM