javascript - 在 CRM 上运行应用程序时出现 javascript 错误
问题描述
我正在开发一个应用程序,当我执行此操作时出现错误
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);
};
};
解决方案
变量a
和b
都在提供给 的回调函数中声明getFieldValue
,因此超出了封闭范围(对 的回调)的范围(即不可见registerEventListener
)。您应该提升 and 的声明a
,b
并且只在回调中分配给它们。
此外,回调的执行将被延迟,因此分配给a
and的值b
,即使声明被提升,也将无法在后续行中使用。您还需要嵌套回调,如下所示:
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);
说了这么多,我不知道代码应该做什么。你的问题缺乏上下文,变量的命名很差,代码风格不一致。希望这会有所帮助:)
推荐阅读
- r - Rstudio 发布文件到 rpubs 没有外部浏览器和登录页面弹出
- python-3.x - Django没有从静态目录加载样式文件
- rust - 如何使用引号在 proc_macro 中插入函数参数标识符?
- swift - 从自定义标题单元格内的视图控制器更改按钮图像
- javascript - JS 函数中的 Word Press PHP ACF Snippets
- pandas - 如何在熊猫数据透视表上添加列(多列)
- r - 仅在 r 中自动将日期时间数据的格式转换为日期
- python - 回归模型在训练时间上给出了 nan 或 inf?
- c++ - 反转字符串中的单词,我不知道为什么会得到这个输出
- node.js - TypeError:inspect(...).addField 不是函数