Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 坚持从表单元素进行简单计算_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 坚持从表单元素进行简单计算

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语句,如下所示

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 of
uncaughttypeerror:cannotsetproperty'value'为null时出错

控制台将元素三的ID显示为
Total1

我认为这可能与jQuery克隆和DOM没有更新有关。值传递正常,但对象可能不正确


有什么想法吗?

文档。getElementById(三个)
不返回匹配项(因此
未定义的

您将一个元素作为参数
three
传递给函数
multiply
,然后将其用作表示其ID的字符串

如果验证了
three
是一个元素,那么首先不要调用
document.getElementById(three).value
,而是直接调用
three.value

谢谢您的帮助,非常简单!(就是我)