0

私は次のhtmlを持っています:

<p>Genre: {{ create_production_form.genre }}</p>
<p>Privacy: {{ create_production_form.privacy }}</p>
<p><input type="submit" name="next" value="Next" disabled="disabled"></p>

nextジャンルとプライバシーが入力された後にのみボタンをクリックできるようにするにはどうすればよいですか? たとえば、次のようなものです。

if ($("id_genre").val() && $("id_privacy").val()) {
    $("input[name=next]").attr("disabled","")
}

唯一のことは、これらすべてのフィールドがいつ入力されたかを検出できるように、「ライブ」である必要があるということです。

4

5 に答える 5

1

うーん?「イベント」は委譲を処理するため、「イベント ハンドラー」には、使用している jQuery のバージョンに応じて、live()またはが必要です。on()これは、方程式の重要な部分が省略されていることを意味します。

私が話している「イベント」メソッドはsubmitchangeまたはclickです。前述のlive()またはon()メソッドを使用して、これらのイベントのいずれかにコードを委譲する必要があります。

それ以外の場合は、データが入力されている場合にそれらを有効にするだけの場合です。

$('form :input').change(function(){
  if ($("id_genre").val() && $("id_privacy").val()) {
    $("input[name=next]").attr("disabled","")
  }
});

これにより、フォームがチェックされ、入力が変更されているかどうかが確認されます。変更されている場合は、値がテストされ、結果が得られます。

于 2012-05-24T03:14:56.600 に答える
0

ホバーで使用してみてくださいユーザーはクリックする前にボタンにホバーする必要があります私はそれが役立つことを願っています

$("input[name=next]").hover(function() {


    if ($("id_genre").val()!="" && $("id_privacy").val()!="") {
        $("input[name=next]").removeAttr("disabled")
    }
});
于 2012-05-24T03:18:31.707 に答える
0
 $('form').change(function() {
    if ($("id_genre").val().length > 0 && $("id_privacy").val().length > 0) {
        $("input[type='submit']").prop("disabled", false)
    }
  })
于 2012-05-24T03:20:38.283 に答える
0

デモ http://jsfiddle.net/8AtAz/1/

デモでは、有効なボタンをクリックすると、次のボタンが有効になります。

コード

$("input[type='submit']").prop('disabled', true);
$("#valid").click(function() {

    $("input[type='submit']").prop('disabled', false);
})​

またはあなたの場合

 if ($("id_genre").val() != "" && $("id_privacy").val() != "") {
        $("input[type='submit']").prop("disabled", false)
    }
于 2012-05-24T03:23:41.920 に答える
0

それらが両方ともテキスト入力であると仮定すると、 on で検証できますがkeyup、そうでない場合changeでも on で検証できます。

于 2012-05-24T03:14:06.570 に答える