2

私は次のフォームとjavascriptを持っています:

<script type="text/javascript">
function toggleButton(ref,bttnID){
  document.getElementById(bttnID).disabled= ((ref.value !== ref.defaultValue) ? false : true);
}
</script>

<form action="" method="post" id="subscribe" name="subscribe">
<label>NAME:</label>
<input type="text" name="name" class="subName" onkeyup="toggleButton(this,'bttnsubmit');">
<label>EMAIL:</label>
<input type="text" name="email" class="subEmail" id="sub_email">
<input type="button" name="button" value="Subscribe" disabled='disabled' id='bttnsubmit'/>
</form>

サイトを最初にロードしたとき、テキスト フィールドにテキストが含まれていないため、必要に応じて [SUBMIT] ボタンが無効になっています。テキストフィールド内にテキストが配置されたら、ボタンを有効にしたいと思います。

何か助けてください。

4

3 に答える 3

4

質問の既存のコードは正常に機能しましたが、テキストが削除されると無効になります。これは他の人が望むかもしれませんが、小さな変更を加えて、jquery を必要とせずに完全に削除することができます (jquery はタグにありませんでした)。

function toggleButton(ref,bttnID){
  document.getElementById(bttnID).removeAttribute("disabled");
}

onkeyup="toggleButton(this,'bttnsubmit')ボタンを有効にする必要があるフィールドに追加します

于 2013-01-31T18:21:14.620 に答える
3

jQuery の使用:

$(document).ready(function() {
     $('#bttnsubmit').attr('disabled','disabled');
     $('input[type="text"]').keyup(function() {
        if($(this).val() != '') {
           $('input[type="submit"]').removeAttr('disabled');
        }
     });
 });

出典:jQueryの送信ボタンの無効化/有効化

于 2013-01-31T18:00:55.527 に答える
3

トリックを実行した最終的なコードを追加します。

<script type="text/javascript">
$(document).ready(function() {
     $('#bttnsubmit').attr('disabled','disabled');
     $('#subEmail').keyup(function() {
        if($(this).val() != '') {
           $('#bttnsubmit').removeAttr('disabled');
        }
        else {
        $('#bttnsubmit').attr('disabled','disabled');
        }
     });
 });
</script>
于 2013-01-31T18:13:20.377 に答える