在 odoo 中测试一个简单的 javascript 函数

Testing a simple javascript function in odoo

我正在尝试在 odoo 10 中创建一个简单的 javascript 代码。因此在 myModule\static\src\js 文件夹下我添加了一个包含此代码的 test.js 文件:

alert("it works!!");

在 myModule\views 下,我添加了一个 xml 文件,其中包含以下代码:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
    <template id="assets_backend" name="solixy assets" inherit_id="web.assets_backend">
        <xpath expr="." position="inside">
            <script type="text/javascript" src="/solixyProject/static/src/js/test.js"></script>
        </xpath>
    </template>
</data>

当我更新我的模块并刷新 odoo 时它工作正常。现在我希望在按下按钮时调用此 js 代码。所以我把js代码改成这样:

function clickMe(){
    alert("it works!!");
};

然后在我的表单中添加了这个按钮:

<button name="test_js" string="Test Javascript File" type="object" class="btn-primary" onclick="clickMe()"/>

现在显示了按钮,但我没有警告框!!

感谢您的帮助。

看来我遗漏了许多其他 javascript 代码,所以我的方法可以工作。我们不能只添加这样的方法:

function clickMe(){
    alert("it works!!");
};

这是正确的js代码:

odoo.define('solixyProject.kanban_view', function (require){
"use strict";
var form_widget = require('web.form_widgets');
var core = require('web.core');
var _t = core._t;
var QWeb = core.qweb;

form_widget.WidgetButton.include({
    on_click: function() {
         if(this.node.attrs.custom === "click"){

            alert("It works!!");

            return;
         }
         this._super();
    },
});
});

这是正确的 xml 代码:

<button string="Test Javascript Onclick Method" custom="click" />

这个问题对我帮助很大: Odoo javascript onclick event