如何在循环中获取所有文本框以进行验证以检查所有
像
if (textbox.text == "",textbox2.text == "",textbox3.text == "")
{
textbox.Focus();
}
答案 0 :(得分:1)
尝试使用getElementsByTagName(elementType),或者如果您已经为每个文本框指定了要检查的某个类,那么getElementsByClass(className)的一些不同实现也会浮动(例如http://www.dustindiaz.com/getelementsbyclass/)。
例如,如果您的所有文本框都是textareas:
var textboxes = document.getElementsByTagName('textarea');
for (var i=0; i<textboxes.length; i++){
if (textboxes[i].value == ""){
textboxes[i].focus();
break;
}
}
如果您只想从特定父级内部检查textareas,也可以将'document'替换为特定的父元素。
编辑:我在循环中添加了一个中断,以便在找到验证失败的文本框并关注该元素后退出。
答案 1 :(得分:0)
<script>
<!--
function chkForm(obj)
{
for (i=0; i<obj.childNodes.length; i++)
{
if (obj.childNodes[i].tagName == "INPUT")
{
if (obj.childNodes[i].type == "text")
{
if(obj.childNodes[i].value == "")
{
obj.childNodes[i].focus();
}
}
}
}
}
-->
</script>
<form onsubmit="return chkForm(document.getElementById('myform'));" name="myform" id="myform">
<input type="text" name="myfield1"> <br>
<input type="text" name="myfield2"> <br>
<input type="submit" name="btnSubmit" value="Submit">
</form>