使用Javascript循环检查空表单字段

使用Javascript循环检查空表单字段,javascript,forms,loops,Javascript,Forms,Loops,我正在尝试遍历一个小表单并检查空白字段。我原以为这会很简单,但我什么都做不到。这是到目前为止我的Javascript: var obj = { fname : document.getElementsByName('fname'), lname : document.getElementsByName('lname'), phone : document.getElementsByName('phone'), email : document.getElementsByName('email'

我正在尝试遍历一个小表单并检查空白字段。我原以为这会很简单,但我什么都做不到。这是到目前为止我的Javascript:

var obj = {

fname : document.getElementsByName('fname'),
lname : document.getElementsByName('lname'),
phone : document.getElementsByName('phone'),
email : document.getElementsByName('email'),
span : document.createElement('span'),
txt : document.createTextNode('*Required Field'),



init : function(){
     document.getElementsByName('submit').onclick = obj.validate;
},

validate : function(){
     var check = document.getElementsByTagName('input');
     var len = check.length;
     for(var i=0;i<len;i++)
     {
     if (check[i].value ==='')
     {
          alert('required');
          return false;
     }; 

 };

  },

};
var obj={
fname:document.getElementsByName('fname'),
lname:document.getElementsByName('lname'),
phone:document.getElementsByName('phone'),
电子邮件:document.getElementsByName(“电子邮件”),
span:document.createElement('span'),
txt:document.createTextNode(“*必填字段”),
init:function(){
document.getElementsByName('submit')。onclick=obj.validate;
},
验证:函数(){
var check=document.getElementsByTagName('input');
var len=检查长度;
对于(var i=0;i变化

改变

改变

改变

尝试此操作(将
id=“submit”
属性添加到submit元素后):

init:function(){
document.getElementById('submit').onclick=obj.validate;
},
验证:函数(){
var check=document.getElementsByTagName('input');
var len=检查长度;
对于(var i=0;i尝试此操作(在向提交元素添加
id=“submit”
属性之后):

init:function(){
document.getElementById('submit').onclick=obj.validate;
},
验证:函数(){
var check=document.getElementsByTagName('input');
var len=检查长度;
对于(var i=0;i尝试此操作(在向提交元素添加
id=“submit”
属性之后):

init:function(){
document.getElementById('submit').onclick=obj.validate;
},
验证:函数(){
var check=document.getElementsByTagName('input');
var len=检查长度;
对于(var i=0;i尝试此操作(在向提交元素添加
id=“submit”
属性之后):

init:function(){
document.getElementById('submit').onclick=obj.validate;
},
验证:函数(){
var check=document.getElementsByTagName('input');
var len=检查长度;

对于(var i=0;i您正在检查对象检查,而不是其中的每个元素。执行此操作

if(check[i].value === '')

您正在检查对象检查,而不是其中的每个元素。请执行此操作

if(check[i].value === '')

您正在检查对象检查,而不是其中的每个元素。请执行此操作

if(check[i].value === '')

您正在检查对象检查,而不是其中的每个元素。请执行此操作

if(check[i].value === '')


obj.check.length应为check.length.check.value应为check[i].value。您真的应该将check变量重命名为更具描述性的变量,如inputElements。@UkuleleFerry woops。忘记删除该obj。在将函数作为变量放入函数之前,我试图将check作为对象。但是,我更改了这两个变量,但它仍然不起作用。不过,感谢您的建议。我将代码编辑为我想要的现在有了。它仍然不起作用:/@rexer到底出了什么问题?你有什么错误吗?@rexer:请看下面我的修正答案。getElementsByName()返回一个数组,所以init()不能按原样工作。对ID.obj.check.length使用getElementById()更有意义。length应该是check.length。check.value应该是check[i].value。您真的应该将check变量重命名为更具描述性的变量,如inputElements。@UkuleleFerry woops。忘记删除该obj。在将函数作为变量放入函数之前,我试图将check作为对象。但是,我更改了这两个变量,但它仍然不起作用。不过,感谢您的建议。我将代码编辑为我想要的现在有了。它仍然不起作用:/@rexer到底出了什么问题?你有什么错误吗?@rexer:请看下面我的修正答案。getElementsByName()返回一个数组,所以init()不能按原样工作。对ID.obj.check.length使用getElementById()更有意义。length应该是check.length。check.value应该是check[i].value。您真的应该将check变量重命名为更具描述性的变量,如inputElements。@UkuleleFerry woops。忘记删除该obj。在将函数作为变量放入函数之前,我试图将check作为对象。但是,我更改了这两个变量,但它仍然不起作用。不过,感谢您的建议。我将代码编辑为我想要的现在有了。它仍然不起作用:/@rexer到底出了什么问题?你有什么错误吗?@rexer:请看下面我的修正答案。getElementsByName()返回一个数组,所以init()不能按原样工作。对ID.obj.check.length使用getElementById()更有意义。length应该是check.length。check.value应该是check[i].value。您真的应该将check变量重命名为更具描述性的变量,如inputElements。@UkuleleFerry woops。忘记删除该obj。在将函数作为变量放入函数之前,我试图将check作为对象。但是,我更改了这两个变量,但它仍然不起作用。不过,感谢您的建议。我将代码编辑为我想要的现在有了。它仍然不起作用:/@rexer到底出了什么问题?你有什么错误吗?@rexer:请看下面我的修订答案。getElementsByName()返回一个数组,因此init()无法正常工作。使用getElementById()更有意义在身份证上。仍然不起作用。这实际上是我之前尝试过的事情之一。很高兴看到其他人认为它应该起作用。哈哈。仍然不起作用。这实际上是我之前尝试过的事情之一。很高兴看到其他人认为它应该起作用。哈哈。仍然不起作用。这实际上是我之前尝试过的事情之一。很高兴看到一些人没有其他人认为它应该工作。哈哈。仍然不工作。这实际上是我之前尝试过的事情之一。很高兴看到其他人认为它应该工作。哈哈。仍然没有得到任何结果。但是看起来它应该工作。感谢您尝试帮助我。查看我的修订答案。您使用的数组不正确。您可以使用getElementById()改为在ID上。仍然没有得到任何结果。不过,这看起来应该可以工作。感谢您尝试帮助我。请参阅我的修订答案。您使用的数组不正确。您可以在ID上使用getElementById()。sti
if(check[i].value === '')