我有两个字段需要相互相乘并填充第三个表单的值。这是HTML:
<input type="text" name="estimate[concrete][price]" value="" onBlur="calc_concreteprice(document.forms.mainform);" />
per SF <strong>times</strong>
<input type="text" name="estimate[concrete][sqft]" value="" onBlur="calc_concreteprice(document.forms.mainform);" /> SF
= <input type="text" name="estimate[concrete][quick_total]" value="" />
这是我的JavaScript:
function calc_concreteprice(mainform) {
var oprice;
var ototal;
oprice = ((mainform.estimate[concrete][sqft].value) * (mainform.estimate[concrete][price].value));
ototal = (oprice);
mainform.estimate[concrete][quick_total].value = ototal;
}
我希望将前两个表格相乘并输出到第三个表格。我认为我的问题可能在于我如何引用输入字段名称,带括号(我将此表单的结果作为数组,因此我已经习惯将结果用作多维数组)。 / p>
答案 0 :(得分:3)
当您撰写mainform.estimate[concrete][quick_total].value
之类的内容时,它会尝试访问名为concrete
和quick_total
的属性。请尝试使用此格式来区分属性和包含方括号的字符串:
mainform['estimate[concrete][quick_total]'].value
答案 1 :(得分:0)
我很确定这是方括号。尝试在输入字段中更改您的姓名。如果您希望明确区分名称以显示某种层次结构,请尝试使用下划线,如<input type="text" name="estimate_concrete_price" />
。
在您的javascript中将其更改为mainform.estimate_concrete_price.value
.....
试一试。我很确定它会起作用。