有一html表单,里面的项目都是通过js数组产生的,产生后的html代码如下:<form name="form1" id="form1">
<input name="q1" value="1" type="text" />
<input name="q2" value="2" type="text" />
<input name="q3" value="3" type="text" />
……
<input name="qn" value="N" type="text" /><br>
总合:<input type="text" name="zongheji" id="zongheji" onclick="zonghe();" />
</form>要求:单击最下面求和的text后,将表单中从q1到qn(n不确定,如10,100,1000……都有可能)的值相加,总合赋给id="zongheji"的text有一个问题:如果这个js是一个数组,删除了其中一个比如删除了q2这个text,如何统计类似q1,q3……qn的值呢?
<input name="q1" value="1" type="text" />
<input name="q2" value="2" type="text" />
<input name="q3" value="3" type="text" />
……
<input name="qn" value="N" type="text" /><br>
总合:<input type="text" name="zongheji" id="zongheji" onclick="zonghe();" />
</form>要求:单击最下面求和的text后,将表单中从q1到qn(n不确定,如10,100,1000……都有可能)的值相加,总合赋给id="zongheji"的text有一个问题:如果这个js是一个数组,删除了其中一个比如删除了q2这个text,如何统计类似q1,q3……qn的值呢?
var inputs = document.getElementById("form1").getElementsByTagName("input");
var sum = 0;
for (var i = 0; i < inputs.length; i++) {
if (/^q\d+$/.test(inputs[i].name)) {
sum += +inputs[i].value;
}
}
document.getElementById("zongheji").value = sum;
}
<form name="form1" id="form1">
<input name="q1" value="1" type="text" />
<input name="q2" value="2" type="text" />
<input name="q3" value="3" type="text" />
……
<input name="qn" value="N" type="text" /><input name="w1" value="1" type="text" />
<input name="w2" value="2" type="text" />
<input name="w3" value="3" type="text" />
……
<input name="wn" value="N" type="text" />
<br>
总合:<input type="text" name="zongheji" id="zongheji" onclick="zonghe();" />
</form>
测试的结果既真理,有时间问,不如拿时间测
既然如此,生成时就应该一并生成求和函数!现在不应该补充求和函数,而是应该修改生成函数!