为什么此代码会警告三个未定义的值?
<html>
<head>
<script type="text/javascript" language="javascript">
function doIt(form){
alert(form.elements.length)
for (var i in form.elements){
alert(form.elements[i].value);
}
}
</script>
</head>
<body id="body">
<form method="GET" action="http://localhost/sandbox/moving/controllers/companies/cSubmit_bid.php">
<input type="button" value="Go" onclick="doIt(this.form)">
</form>
</body>
</html>
提前谢谢您。
最佳答案
您遇到了问题,因为 form.elements
中的数组不是真正的数组。它是一个 HTMLCollection
,它是一个类似数组的对象。因此,它不能使用 for...in 循环进行迭代。切换到标准 for 循环,它按预期工作。
for...in 循环实际上是用于迭代对象的属性。不建议在数组上使用(请参阅 description section here )。
关于javascript - 为什么此代码会警告三个未定义的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337797/