【发布时间】:2011-09-09 22:40:28
【问题描述】:
您好,感谢您的关注。
我需要使用 javascript 从表单中获取所有表单输入,输入命名如下:
<input name="site[1]" type="text" size="3" id="sitesinput" value="0" />
<input name="site[2]" type="text" size="3" id="sitesinput" value="0" />
<input name="site[3]" type="text" size="3" id="sitesinput" value="0" />
<input name="site[4]" type="text" size="3" id="sitesinput" value="0" />
......
<input name="site[10]" type="text" size="3" id="sitesinput" value="0" />
我有以下内容可以提取它们并将值添加在一起,但它不起作用,我做错了什么:
function site_change() {
var sites= document.getElementById('sitesinput').value;
var sum= 0;
var inputs= document.getElementById('inputsite').getElementsByTagName('input');
for (var i= inputs.length; i-->0;) {
if (inputs[i].getAttribute('name').match(/^site[\d+$]/))
{
var v= inputs[i].value.split(',').join('.').split(' ').join('');
if (isNaN(+v))
alert(inputs[i].value+' is not a readable number');
else
sum+= +v;
}
}
var phones= document.getElementById('phonesinput').value;
document.getElementById('siteresult').innerHTML = phones-sum;
};
Match函数错了吗?
谢谢, B.
【问题讨论】:
-
为什么你所有的输入都有相同的ID?为什么要创建变量
sites然后不使用它? -
对,您应该为所有人设置不同的 id,或者使用包含所有这些的 id 的
division,然后使用name属性创建select。
标签: javascript forms match textinput