2016-12-21 48 views
0

我在验证表单时遇到了一些问题。 我想要做的是检查一些输入字段是否相等,如果为真则停止表单输入。 事情是这样的:表单验证某些输入必须互不相同

<form id="myForm"> 
<input type="text" id="id1" /> 
<input type="text" id="id2" /> 
<input type="text" id="id3" /> 
<br/> 
<input type="text" id="id4" /> 
<input type="text" id="id5" /> 
<input type="text" id="id6" /> 
...some other inputs (id7, id8, id9 - id10, id11, id12 - ...) 
<p id="error" hidden="hidden"> 
Error 
</p> 
<input id="submit" type="submit" value="submit" /> 
</form> 

如果ID1,ID2和ID3有ID4的相同的值(以相同的顺序),ID5 ID6必须停止表单输入。 Id1,id2和id3可以具有相同的值,并且Id4可以具有与id1相同的值,因此一个,但是三个在一起(id1,id2,id3)不能具有相同的id4,id5,id6的值。 例如错误是:

  • ID1:一张
  • ID2:两个
  • ID3:三
  • ID4:一张
  • ID5:两个
  • ID6:三

所有其他案件都很好。

我想这样的事情:http://jsfiddle.net/g2kBm/283/但它不工作。

回答

1

http://jsfiddle.net/g2kBm/284/

你不需要在模糊事件,因为你在提交检查。此外,您需要检查#1 ==#4 AND#2 ==#5 AND#3 ==#6:

$('#myForm').submit(function (event) { 
    var errors = false; 
    if ($('#id1').val() == $('#id4').val() && 
     $('#id2').val() == $('#id5').val() && 
     $('#id3').val() == $('#id6').val()) { 
      $("#error").show(); 
      errors = true; 
    } else { 
     errors = false; 
     $("#error").hide(); 
    } 
    if (error) { 
     event.preventDefault(); 
    } 
}); 
1

你的if语句应该是这样的:

if((1==4)&&(2==5)&&(3==6)){ 
    errors = true; 
} 
相关问题