javascript 变量的 HTTP 输入仍未定义
HTTP input to javascript variable remains undefined
好吧,我是 javascript 的新手,我正在实习期间从事 Web 应用程序的前端工作,这让我非常困惑。
我有一个 select 和一个输入元素,它们都通过 .POST() 提供给数据库过程调用的消息模型。我已经在项目的其他脚本中完成了此操作,但无论我如何尝试分配值,它在这里都不起作用。
代码如下:
var cctOldSelect = document.getElementById("ConceptToCopy");
var cctOld = cctOldSelect.options[cctOldSelect.selectedIndex].value;
var cctNew = document.getElementById('NewConceptName').value;
console.log("cctOld: " + cctOld + "; cctNew: " + cctNew);
if (cctOld !== "" && cctNew !== "") {
console.log("model creation started.");
var model = {
p_cct_code_old: cctOldSelect.options[cctOldSelect.selectedIndex].value,
p_cct_code_new: document.getElementById('NewConceptName').value,
p_specialty_layout: null
};
console.log("model creation ended.");
}
console.log("cctOld model: " + model.cctOld + "; cctNew model: " + model.cctNew);
输出:
cctOld: 1020H; cctNew: 1021H
model creation started.
model creation ended.
cctOld model: undefined; cctNew model: undefined
我尝试了多种方法:
p_cct_code_Old: $scope.<ElementID> //both with and without .value
p_cct_code_Old: document.getElementById(<ElementID>)
var cctOld = document.getElementById(<ElementID>); p_cctOld: cctOld
None 其中工作。为什么不赋值?
这种情况下的问题是您创建了一个名为 "model" 的新对象,并具有两个名为 "p_cct_code_old" 和 "p_cct_code_new" 的属性,然后您试图访问两个名为 "cctOld" 和 "cctNew" 超出范围。
当您尝试访问不存在的属性时,JS 解释器不会抛出错误,而是 return 未定义的值。
我建议让事情正常进行的事情是:
var model = {};
var cctOldSelect = document.getElementById("ConceptToCopy");
var cctOld = cctOldSelect.options[cctOldSelect.selectedIndex].value;
var cctNew = document.getElementById('NewConceptName').value;
console.log("cctOld: " + cctOld + "; cctNew: " + cctNew);
if (cctOld !== "" && cctNew !== "") {
console.log("model creation started.");
model.p_cct_code_old = cctOldSelect.options[cctOldSelect.selectedIndex].value;
model.p_cct_code_new = document.getElementById('NewConceptName').value;
model.p_specialty_layout: null;
console.log("model creation ended.");
}
console.log("cctOld model: " + model.p_cct_code_old + "; cctNew model: " + model.p_cct_code_new);
如果此解决方案对您有帮助,请告诉我!
好吧,我是 javascript 的新手,我正在实习期间从事 Web 应用程序的前端工作,这让我非常困惑。
我有一个 select 和一个输入元素,它们都通过 .POST() 提供给数据库过程调用的消息模型。我已经在项目的其他脚本中完成了此操作,但无论我如何尝试分配值,它在这里都不起作用。
代码如下:
var cctOldSelect = document.getElementById("ConceptToCopy");
var cctOld = cctOldSelect.options[cctOldSelect.selectedIndex].value;
var cctNew = document.getElementById('NewConceptName').value;
console.log("cctOld: " + cctOld + "; cctNew: " + cctNew);
if (cctOld !== "" && cctNew !== "") {
console.log("model creation started.");
var model = {
p_cct_code_old: cctOldSelect.options[cctOldSelect.selectedIndex].value,
p_cct_code_new: document.getElementById('NewConceptName').value,
p_specialty_layout: null
};
console.log("model creation ended.");
}
console.log("cctOld model: " + model.cctOld + "; cctNew model: " + model.cctNew);
输出:
cctOld: 1020H; cctNew: 1021H
model creation started.
model creation ended.
cctOld model: undefined; cctNew model: undefined
我尝试了多种方法:
p_cct_code_Old: $scope.<ElementID> //both with and without .value
p_cct_code_Old: document.getElementById(<ElementID>)
var cctOld = document.getElementById(<ElementID>); p_cctOld: cctOld
None 其中工作。为什么不赋值?
这种情况下的问题是您创建了一个名为 "model" 的新对象,并具有两个名为 "p_cct_code_old" 和 "p_cct_code_new" 的属性,然后您试图访问两个名为 "cctOld" 和 "cctNew" 超出范围。
当您尝试访问不存在的属性时,JS 解释器不会抛出错误,而是 return 未定义的值。
我建议让事情正常进行的事情是:
var model = {};
var cctOldSelect = document.getElementById("ConceptToCopy");
var cctOld = cctOldSelect.options[cctOldSelect.selectedIndex].value;
var cctNew = document.getElementById('NewConceptName').value;
console.log("cctOld: " + cctOld + "; cctNew: " + cctNew);
if (cctOld !== "" && cctNew !== "") {
console.log("model creation started.");
model.p_cct_code_old = cctOldSelect.options[cctOldSelect.selectedIndex].value;
model.p_cct_code_new = document.getElementById('NewConceptName').value;
model.p_specialty_layout: null;
console.log("model creation ended.");
}
console.log("cctOld model: " + model.p_cct_code_old + "; cctNew model: " + model.p_cct_code_new);
如果此解决方案对您有帮助,请告诉我!