2013-07-19 651 views
0

我需要比較和驗證我通過以下方式四個方面:比較和驗證輸入字段

如果有人在現場寫了一個客戶端數量,有沒有必要填寫地址字段。同樣,如果有人填寫地址字段,他們將不必填寫客戶號碼。

這裏是我的代碼:

$('#Form1').submit(function(event) { 
    if ($(this).find('#address, #city, #postalcode, #customernum [input]').val() == '') { 
     alert('Please enter Your client number or your address!') 
    } 
    event.preventDefault(); 
} 
+2

您需要使用'.each()'。 '.val()'只返回匹配選擇器的第一個元素的值,而不是全部。 – Barmar

+0

我只需要檢查特定的字段,iv有20個字段。 – jheul

+0

我想要做或者如果地址字段爲空輸入客戶字段,反之亦然。 – jheul

回答

1
$('#Form1').submit(function(event) { 
    var formok = false; 
    if ($("#customernum").val() != "") { 
      formok = true; 
    } else { 
     formok = true; 
     $("#address, #city, #postalcode").each(function() { 
      if ($(this).val() == '') { 
       formok = false; 
       return false; // break out of loop 
      } 
     }); 
    } 
    if (!formok) { 
     alert('Please enter Your client number or your address!') 
     event.preventDefault(); 
    } 
} 
+0

這確實奏效。非常感謝 – jheul

0

你的元素有一個ID。爲什麼使用:

$(this).find(' #address, ... 

?這不是必需的。

嘗試做

$('#address, #city.... 

我從來沒有使用多個選擇做你想要做什麼,所以我不知道它會工作。我希望雖然

+0

良好的信息,但不是問題的答案。 – Barmar

+0

好吧,也許這只是問題所在。 Jquery不喜歡這樣,它不起作用。不確定 –

+0

您是否閱讀過我的關於'val()'如何與匹配多個元素的選擇器一起使用的評論? – Barmar