在验证完成后进行提交可点击

时间:2012-05-24 03:10:27

标签: javascript jquery

我有以下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","")
}

唯一的问题是,它需要'实时',因此它可以检测何时填写所有这些字段。

5 个答案:

答案 0 :(得分:1)

WUT? 'event'处理委托,因此'event handler'需要live()on(),具体取决于您使用的jQuery版本。这意味着遗漏了等式的一个重要部分。

我所说的'事件'方法是submitchangeclick。您必须使用上述live()on()方法将代码委托给其中一个事件。

否则,如果您只是想要启用它们,如果数据已被删除。

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

这将检查表单以查看输入是否发生变化,如果输入发生变化,它将测试值,您将获得结果。

答案 1 :(得分:0)

假设它们都是文字输入,您可以在keyup上进行验证,否则在change上进行验证也会有效。

答案 2 :(得分:0)

尝试使用悬停原因用户必须将鼠标悬停在按钮上才能点击我希望它有所帮助

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


    if ($("id_genre").val()!="" && $("id_privacy").val()!="") {
        $("input[name=next]").removeAttr("disabled")
    }
});

答案 3 :(得分:0)

 $('form').change(function() {
    if ($("id_genre").val().length > 0 && $("id_privacy").val().length > 0) {
        $("input[type='submit']").prop("disabled", false)
    }
  })

答案 4 :(得分: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)
    }