gpt4 book ai didi

javascript - call_button() 缺少 1 个必需的位置参数 : 'method' odoo

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:00 24 4
gpt4 key购买 nike

我试图在单击按钮时调用 js 函数,但出现 call_button() 缺少 1 个必需的位置参数:“方法”错误。

对于 location_tracker.js,其中包括我的点击按钮功能

odoo.define('location_tracker.location_tracker', function (require) {
"use strict";

var FormController = require('web.FormController');

FormController.include({
_onButtonClicked: function (event) {
if(event.data.attrs.id === "set_location"){
alert("OK");
}
this._super(event);
}
});
});

对于具有名称字段和设置位置按钮的 view.xml

<record id="location_tracker_form_view" model="ir.ui.view">
<field name="name">location.tracker.form.view</field>
<field name="model">location_tracker</field>
<field name="arch" type="xml">
<form>
<header>
<button id="set_location" type="object"
string="SetLocation"/>
</header>
<sheet>
<group>
<field name="name"/>
<field name="latitude"/>
<field name="longitude"/>
</group>
</sheet>
</form>
</field>
</record>

<template id="assets_backend" name="location_tracker assets"
inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript"
src="/location_tracker/static/src/js/location_tracker.js">
</script>
</xpath>
</template>

对于我的模型的 model.py

from odoo import models, fields, api
class LocationTracker(models.Model):

_name = 'location_tracker'
name = fields.Char(string="Notes")
location_tracker_id = fields.Char(string="Id")
latitude = fields.Float(string="Latitude", digits=(16,7),
readonly=True)
longitude = fields.Float(string="Longitude", digits=(16,7),
readonly=True)

def set_location(self):
print ('Called')

最佳答案

您需要在按钮中添加名称属性,并设置方法名称存在于Python文件中。

<button 
id="set_location"
type="object"
name="set_location"
string="SetLocation"/>

关于javascript - call_button() 缺少 1 个必需的位置参数 : 'method' odoo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56607186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com