2012-03-05 46 views
0

我在表單中有4個電子郵件字段,並且我希望用戶在提交按鈕時,其所需填寫的最小1字段。如何爲jquery設置字段的最小長度?

這是HTML:

<form id="new_invitation" class="new_invitation" method="post" data-remote="true" action="/invitations" accept-charset="UTF-8"> 
<div id="invitation_form_recipients"> 
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_0"><br> 
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_1"><br> 
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_2"><br> 
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_3"><br> 
</div> 
<input type="submit" value="Send invitation" name="commit"> 
</form> 

我該怎麼辦呢?

回答

3
$('#new_invitation').submit(function(event) { 
    if ($('#invitation_form_recipients input').filter(function() { 
     return $(this).val(); 
    }).length == 0) { 
     // all the fields are empty 
     // show error message here 

     // this blocks the form from submitting 
     event.preventDefault(); 
    } 


}); 
+0

我認爲這將考慮字符串「0」作爲一個空輸入,你可能想更清楚你的過濾條件。 – jbabey 2012-03-05 18:15:11

+0

字符串'0'是可以的(因爲'!! 0 == false「,但是'!!'0'== true'),但是確定的,我會在過濾器的返回值之前加上'!!'。 – ori 2012-03-05 18:19:10

+0

謝謝,我需要知道輸入的電子郵件是否是正則表達式電子郵件。這不適合我:( – hyperrjas 2012-03-05 18:42:21

1

方式一:串聯四個值,如果它不爲空,然後你肯定他們中的一個已經被充填

0

這應該工作:

<script type="text/javascript"> 
     function check_recipients(form){ 
      var empty = true; 
      $('#invitation_form_recipients input').each(function(){ 
       if($(this).val() != ''){ empty = false; } 
      }); 
      if(empty){ 
       alert('You have to fill in at least one recipient!'); 
       return false; 
      }else{ 
       form.submit(); 
      } 
     } 
    </script> 

<form id="new_invitation" class="new_invitation" onsubmit="check_recipients(this); return false;" method="post" data-remote="true" action="/invitations" accept-charset="UTF-8"> 
     <div id="invitation_form_recipients"> 
      <input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_0"><br> 
      <input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_1"><br> 
      <input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_2"><br> 
      <input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_3"><br> 
     </div> 
     <input type="submit" value="Send invitation" name="commit"> 
    </form> 
相關問題