在 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
我正在尝试在 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