Javascript 坚持从表单元素进行简单计算
我使用脚本模板在用户单击按钮时创建代码块,这很好,但我希望能够计算这些克隆区域内的总数,因此我有一个在线onBlur语句,如下所示Javascript 坚持从表单元素进行简单计算,javascript,jquery,dom,Javascript,Jquery,Dom,我使用脚本模板在用户单击按钮时创建代码块,这很好,但我希望能够计算这些克隆区域内的总数,因此我有一个在线onBlur语句,如下所示 onblur = "multiply.call(this, this.form.elements.Qty{{ID}}.value, this.form.elements.Cost{{ID}}.value, this.form.elements.Total{{ID}})" 当克隆函数将ID更新为其计算结果的值时 onblur = "multiply.call(thi
onblur = "multiply.call(this, this.form.elements.Qty{{ID}}.value, this.form.elements.Cost{{ID}}.value, this.form.elements.Total{{ID}})"
当克隆函数将ID更新为其计算结果的值时
onblur = "multiply.call(this, this.form.elements.Qty1.value, this.form.elements.Cost1.value, this.form.elements.Total1)"
我的职能是
function multiply(one, two, three) {
console.dir(three);
document.getElementById(three).value = (parseFloat(one) + parseFloat(two)).toFixed(2); // error here
};
如果我显示一个和两个,它们具有表单中的值,但是我将返回到for ofuncaughttypeerror:cannotsetproperty'value'为null时出错
控制台将元素三的ID显示为Total1
我认为这可能与jQuery克隆和DOM没有更新有关。值传递正常,但对象可能不正确
有什么想法吗?文档。getElementById(三个)
不返回匹配项(因此未定义的)
您将一个元素作为参数three
传递给函数multiply
,然后将其用作表示其ID的字符串
如果验证了three
是一个元素,那么首先不要调用document.getElementById(three).value
,而是直接调用three.value
,谢谢您的帮助,非常简单!(就是我)