2016-12-21 83 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; 
} 
相關問題