[英]Get value of dynamic input element in form object
我的问题是:如何在表单中引用输入元素的动态“名称”?
例如,使用以下 HTML:
<form>
<input type="text" name="qty1" value="input1" />
<input type="text" name="qty2" value="input2" />
<input type="text" name="qty3" value="input3" />
<input type="submit" value="Submit" onClick="checkVal(this.form); return false;" />
</form>
Javascript:
function checkVal(form) {
for (var i = 1; i <= 3; i++) {
alert(form.qty+i.value); // Here's where my problem is..
}
}
上面的javascript不起作用。 警报正在输出NaN
。
如何使用i
变量在 for 循环中引用qty1
、 qty2
和qty3
?
这是一个 jsfiddle: http : //jsfiddle.net/MRzWf/
标准溶液
使用: form.elements[]
应该适用于所有浏览器..
function checkVal(form) {
for (var i = 1; i <= 3; i++) {
alert(form.elements["qty"+i].value);
/* OR using dynamic name variable
var ename = "qty"+i;
alert(form.elements[ename].value);
*/
}
}
问题是form.qty+i
,
要访问数组元素,您应该在括号内使用index
。
还有另一种检查输入值的方法。 这是一个。
function checkVal(form) {
var allInputs = document.getElementsByTagName('input');
for (var i = 0; i < 3; i++) {
if(allInputs[i].type == 'text'){
alert(allInputs[i].value);
}
}
}
尝试这个。 它适用于上述问题
function checkVal(form) {
for (var i = 0; i < 3; i++) {
alert(document.getElementsByTagName("input")[i].value);
} }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.