我有一个表单验证函数,它遍历表单元素,检查空字段 - 代码如下:
function formValidate(ourform){
var formelems = document.getElementById(ourform).elements;
for (var i=0; i<formelems.length; i++){
if(formelems[i].value == "") {
alert("Empty Field(s). Please fill in all the fields.");
return false;
}
}
}
问题是,如果有一个空字段,我的表单不会返回false - 它会处理表单。我之前已经解决了这个问题,但现在我已经记不起来了。
感谢。
答案 0 :(得分:3)
基本上答案是,在你的例子中,你实际上并没有返回任何东西。在Pandiya的例子中,他根据条件返回真/假。记得在你正在使用的任何调用中也使用return语句,可能在你的例子中它将是
<form blah blah blah onsubmit="return formValidate(this)">
答案 1 :(得分:0)
Hai试试这个,
function checkForEmpties(form) {
var i;
var formElements = form.elements;
for (i=0; i<formElements.length; i++)
{
if (formElements[i].type == "text") {
if (formElements[i].value != "") {
return true;
break;
}
}
else if (formElements[i].type == "checkbox") {
if (formElements[i].checked) {
return true;
break;
}
}
}
return false;
}