gpt4 book ai didi

在 CRM 上运行应用程序时出现 JavaScript 错误

转载 作者:行者123 更新时间:2023-12-03 00:40:57 24 4
gpt4 key购买 nike

我正在开发一个应用程序,当我执行此应用程序时,出现错误

var b=parseInt(a)+parseInt(b);

var a 未定义。我如何获得a和b的值。我是一名新学习者。谢谢。

FieldToGet=300101; //int1
FieldToGet2=300102 //int2
FieldToSet=300103; //res


var TstFun = new function () {

this.T1=function(){
iEventId_OnFocus=10;
iEventId_OnBlur=9;
iComboType=1;


centra.crmapi.getEditView().registerEventListener(function(obj){
var data=obj['data'];
var val=data[1];

centra.crmapi.getEditView().getFieldValue(function(obj){
var field1data=obj['data']
var a=field1data[1];
},FieldToGet,iComboType);

centra.crmapi.getEditView().getFieldValue(function(obj){
var field1data2=obj['data']
var b=field1data2[1];
},FieldToGet2,iComboType);

var c=parseInt(a)+parseInt(b);

centra.crmapi.getEditView().setFieldValue(function(obj){

},FieldToSet,b,iComboType);

},FieldToSet,10,iComboType);


};
};

最佳答案

变量ab均在提供给getFieldValue的回调函数内声明,因此超出范围(即不可见)到封闭范围(registerEventListener 的回调)。您应该提升 ab 的声明,并仅在回调内分配给它们。

此外,回调的执行将被推迟,因此即使声明被提升,分配给 ab 的值也将无法使用在后续行中。您还需要嵌套回调,如下所示:

centra.crmapi.getEditView().registerEventListener(function(obj) {
var data = obj['data'];
var val = data[1];
var a;
var b;

centra.crmapi.getEditView().getFieldValue(function(obj) {
var field1Data = obj['data'];
a = field1Data[1];

centra.crmapi.getEditView().getFieldValue(function(obj) {
var field1Data2 = obj['data']
b = field1Data2[1];

// This line should no longer error,
// but `c` seems to be unused...
var c = parseInt(a) + parseInt(b);

centra.crmapi.getEditView().setFieldValue(function(obj) {
// I'm not sure what should go here.
// Maybe this is where you want to use the value of `c`?
}, FieldToSet, b, iComboType);
}, FieldToGet2, iComboType);
}, FieldToGet, iComboType);
}, FieldToSet, 10, iComboType);

尽管如此,我还是不知道代码应该做什么。你的问题缺乏上下文,变量命名很差,代码风格不一致。希望这会有所帮助:)

关于在 CRM 上运行应用程序时出现 JavaScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53467669/

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