2017-02-16 12 views
0

私はユーザーが電子メールを入力する入力ボックスを持っています。入力が!= 0の場合、私のスクリプトでDOM内のボタンを無効にしておきます。しかし、それが変更され、値が> 0になると、私はそれが私のボタンを有効にしたい。イベントリスナー.changeは応答しません

残念ながら何も起こりません。

これは私がこれまで持っているものです。

<script src="~/Scripts/jquery-3.1.1.js"> 
    $(document).ready(function(){ 
     $("#input1").change(function(){ 
      if($(this).val().length > 0){ 
       $("#emailSignup").prop('disabled', false); 
      } 
      else{ 
       $("#emailSignup").prop('disabled', true); 
      } 
     }) 
    }); 
</script> 

HTML:

@Html.TextBoxFor(Model => Model.Email, new { id="input1", Class = "form-control", Style = "display:inline-block; max-width:200px", Placeholder="[email protected]", type="email"}) 
<button disabled type="submit" class="btn btn-default" style="display:inline-block" id="emailSignup">Tilmeld</button> 
+0

はとてもイベントdeledation – guradio

+0

を使用している場合、それはありません、はい動的に追加された動的に追加入力されていますポストバック –

+0

コンソールログを見ましたか?たぶんそこに何らかのエラーメッセージがあります。 –

答えて

0

あなたはおそらく代わりに、キー上に使用することができます?

<script src="~/Scripts/jquery-3.1.1.js"> 
    $(document).on('keyup', '#input1', function() { 
     if($(this).val().length > 0){ 
      $("#emailSignup").removeAttr('disabled'); 
     } else { 
      $("#emailSignup").prop('disabled', true); 
     } 
    }); 
</script> 
0

このスクリプトを試してみてもらえますか?ありがとう。 変数を定義して関数をテストする必要があります。

@Html.TextBoxFor(Model => Model.Email, new { id="input1", Class = "form-control", Style = "display:inline-block; max-width:200px", Placeholder="[email protected]", type="email"}) 
<button disabled="disabled" type="submit" class="btn btn-default" style="display:inline-block" id="emailSignup">Tilmeld</button> 

のjQuery:

$(document).ready(function(){ 
    $('.emailSignup').attr('disabled',true); 
    $('#message').keyup(function(){ 
     if($(this).val().length !=0) 
      $('.emailSignup').attr('disabled', false);    
     else 
      $('.emailSignup').attr('disabled',true); 
    }) 
}); 
+0

これで何も違うはずがありません。 - 残念ながら –

+0

@JeppeChristensen、#input1のHTMLコードを共有できますか? – FreedomPride

+0

私の質問が更新されました:-) –

関連する問題