2016-04-30 1 views
0

私は95のフォームフィールドを持つフォームを持っています。そのいくつかは必須であり、いくつかはオプションです。すべての必須フィールドが完了するまで、送信ボタンを無効にしたいすべての必須フィールドが完了するまでボタンを無効にする

そこにはたくさんの解決策がありますが、私がそれを助けることができるならば、私は本当にすべての95のフィールドをリストする必要はないので、入力に必要なフラグをスキャンするものを探しています。

これはjQueryなどで可能ですか?

多くのおかげで、

ジョン

+0

は、任意のjqueryの検証プラグインを使用していますか? –

+0

@DharmParmarいいえ、Foundationsのデータを使用しています –

+0

最初に必須の入力フィールドで 'required'属性を使用しようとしましたか? https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-requiredを参照してください。 – Redu

答えて

1

(function() { 
 
    $('form > input').keyup(function() { 
 

 
     var empty = false; 
 
     $('form > input[required]').each(function() { 
 
      if ($(this).val() == '') { 
 
       empty = true; 
 
      } 
 
     }); 
 

 
     if (empty) { 
 
      $('#register').attr('disabled', 'disabled'); 
 
     } else { 
 
      $('#register').removeAttr('disabled'); 
 
     } 
 
    }); 
 
})()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
<form> 
 
    Username<br /> 
 
    <input type="text" id="user_input" name="username" required /><br /> 
 
    Password<br /> 
 
    <input type="password" id="pass_input" name="password" required /><br /> 
 
    Confirm Password<br /> 
 
    <input type="password" id="v_pass_input" name="v_password" required /><br /> 
 
    Email<br /> 
 
    <input type="text" id="email" name="email" required/><br /> 
 
    name<br> 
 
    <input type="text" id="name" name="name"/> optional<br />  
 
    <input type="submit" id="register" value="Register" disabled="disabled" /> 
 
    
 
</form> 
 
<div id="test"> 
 
</div>

+0

Varuna Sharma - ありがとうございますが、これはすべてのフィールド用です。必要なフィールドのボタンを無効にしたいだけです。 –

+0

@JohnHiggins必要なフィールドには$( 'form> input [required]')を使うことができます......... –

+1

varunでも申し訳ありませんが($(this)).val()== '')このようにして、ユーザが空白でないと仮定すると、if($(this).val()。trim()== '){ $(this)を使用できます。 val( ''); empty = true; } .......幸運な男:) –

関連する問題