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

呜?“事件”处理委托,因此“事件处理程序”需要具有live()on()取决于您使用的 jQuery 版本。这意味着等式的一个重要部分被遗漏了。

我所说的“事件”方法是submit,changeclick. 您必须使用上述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

假设它们都是文本输入,您可以验证 on keyup,否则验证 onchange也可以。

于 2012-05-24T03:14:06.570 回答
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 回答