0

フィールド名が入力されるまで、jqueryコードを使用して(または使用する必要がある)購読フォームをHTMLで作成して、送信ボタンをグレー表示にします。

しかし、それは機能していません...

何が悪いのか手がかりはありますか?コードは次のとおりです。

<head>
<script type="text/javascript">
var $submit = $("input[type=submit]");
if ( $(".subName").length > 0 ) {
   $submit.attr("disabled","disabled");
} else {
   $submit.removeAttr("disabled");
}
</script>
</head>
<body>
<form action="" method="post" id="subscribe" name="subscribe">
<input type="hidden" name="action" value="subscribe">
<label>NAME:</label>
<input type="text" name="name" class="subName" id="sub_first_name">
<label>EMAIL:</label>
<input type="text" name="email" class="subEmail" id="sub_email">
<input type="submit" name="button" value="Subscribe" />
</form>
</body>

ありがとう!

- - - - - - - - - - - - - 編集

<form action="" method="post" id="subscribe" name="subscribe">
<label>NAME:</label>
<input type="text" name="name" class="subName" id="sub_first_name">
<label>EMAIL:</label>
<input type="text" name="email" class="subEmail" id="sub_email">
<input type="submit" name="button" value="Subscribe" />
</form>

JS:

<script type="text/javascript">
$(document).ready(function() {
    var $submit = $("input[type=submit]");
    $('.subName').on('change', function() {
        if ( ! $(".subName").val().length ) {
           $submit.attr("disabled","disabled");
        } else {
           $submit.removeAttr("disabled");
        }
    });
}
</script>

しかし、まだ機能していません:(

4

2 に答える 2

0

イベントにバインドするだけでなく、jQuery もヘッダーに含めますか? たとえば、次のようにします。

<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
于 2013-01-31T14:39:16.810 に答える
0
$(document).ready(function() {
    var $submit = $("input[type=submit]");
    $('.subName').on('change keyup', function() {
        if ( !$(this).val().length ) {
           $submit.attr("disabled","disabled");
        } else {
           $submit.removeAttr("disabled");
        }
    });
});
于 2013-01-31T14:32:14.277 に答える