您需要获取表单的引用,然后您可以迭代elements
集合。因此,假设例如:
<form method="POST" action="submit.php" id="my-form">
..etc..
</form>
你会有类似的东西:
var elements = document.getElementById("my-form").elements;
for (var i = 0, element; element = elements[i++];) {
if (element.type === "text" && element.value === "")
console.log("it's an empty textfield")
}
请注意,在支持 querySelectorAll 的浏览器中,您还可以执行以下操作:
var elements = document.querySelectorAll("#my-form input[type=text][value='']")
而且您将elements
只拥有具有空值属性的元素。但是请注意,如果用户更改了值,则属性将保持不变,因此此代码仅按属性过滤,而不是按对象的属性过滤。当然,您也可以混合使用两种解决方案:
var elements = document.querySelectorAll("#my-form input[type=text]")
for (var i = 0, element; element = elements[i++];) {
if (element.value === "")
console.log("it's an empty textfield")
}
你基本上会省下一张支票。