好吧,所以我对JavaScript是新手
我有一个选择和一个输入元素,这两个元素都将其馈入数据库过程的消息模型,请通过.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
什么都没有。为什么不分配值?
在这种情况下的问题是,您创建了一个名为"模型"的新对象,并且具有两个称为" p_cct_code_old"one_answers" p_cct_code_new"的属性,然后您正在尝试访问两个称为称为"称为"的属性"。cctold"one_answers" cctnew" 。
当您尝试访问非现有属性时,JS解释器不会丢失错误,而是返回未定义的值。
我建议使事情起作用的东西是:
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);
告诉我这个解决方案是否对您有所帮助!