2013-03-04 57 views
0

我正在構建一個函數來驗證表單,我可以使用它來爲即將到來的項目。 第二,如果stastation不工作,我不明白爲什麼。jQuery的每個功能,如果stactory

$('.submit').click(function() { 

    var hasError = false, 
     emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/, 
     form = $('form'), 
     radio_check = $('.tick .test'), 
     input = $('input:not(.submit)'), 
     emailaddressVal = $("#email").val(), 
     email = $('#email'); 

     $('form input:not(.submit)').each(function(){ 
      if ($(this).val() == '') { 
       $(this).css('background-color', 'red'); 

       if(!email.val() == '') { 
         email.css('background-color', '#faa'); 
       } 
      } 

     }); 
}); 
+2

定義「不工作」? – 2013-03-04 16:32:56

+0

使用triple =運算符,除非要類型強制。即=== – 2013-03-04 16:33:09

+0

這不是應用以下內容:email.css('background-color','#faa'); – Alex 2013-03-04 16:33:28

回答

1

我想你的意思是檢查電子郵件字段不爲空,所以你應該做的:

if(!email.val()) { } //-> not falsey 

或者

if(email.val() === '') { } //-> is empty 
+1

或可能'if(email.val()==='')'。但你的更'適當' – 2013-03-04 16:34:37

+0

@CraigTaub或者可能不是,因爲檢查它是**而不是空字符串不是檢查它是一個空字符串。 – 2013-03-04 16:35:21

+0

true @AnthonyGrist(爲什麼我說上面更好)特別是JS和它的許多真實和謬誤的價值觀。 – 2013-03-04 16:36:05

0

使用

if(email.val() === '') {...} 

if(!email.val()) {...}