【问题标题】:How to add a java script handler for button click event in odoo 10?如何为odoo 10中的按钮单击事件添加java脚本处理程序?
【发布时间】:2017-07-18 13:02:43
【问题描述】:

我想使用 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");
      });  
    });

【问题讨论】:

  • 这是“JavaScript”,而不是“java 脚本”。

标签: javascript openerp odoo-9


【解决方案1】:

首先我建议你给你想使用的对象一些 ID 属性。 喜欢

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

JQuery:

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

【讨论】:

  • 出现错误:“错误:某些模块无法启动”
  • 我在我的 js 文件中添加了这段代码并得到了错误。我已经用上面的代码写了我的js代码
  • 改用 $,我已将 JQuery 对象重命名为 jq。抱歉给您带来不便,jq('#click_me') 改用 $('#click_me')
  • 但是..它不起作用..我们需要在模板标签中添加这些按钮吗?
  • 得到这个错误jQuery.fn.init {context: document, selector: "#click_me"}
【解决方案2】:

这就是您的按钮的外观,只需添加onclick whish 就是您的处理程序。

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

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多