Javascript 在满足验证后,使提交可单击
我有以下html:Javascript 在满足验证后,使提交可单击,javascript,jquery,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> 唯一的问题是,它需要是“活动”的,这样它就
<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>
唯一的问题是,它需要是“活动”的,这样它就可以检测到所有这些字段何时都已填写。假设它们都是文本输入,您可以在
键控上进行验证,否则在更改上进行验证也可以。Wut?“event”处理委托,因此“event handler”需要具有live()
或on()
,具体取决于您使用的jQuery版本。这意味着方程中的一个重要部分被遗漏了
我所说的“事件”方法是submit
、change
或click
。您必须将代码委托给这些事件之一——使用前面提到的live()
或on()
方法
否则,如果您只是想在数据已填充的情况下启用它们
$('form :input').change(function(){
if ($("id_genre").val() && $("id_privacy").val()) {
$("input[name=next]").attr("disabled","")
}
});
这将检查表单以查看输入是否更改,如果更改,它将测试值,您将得到结果。尝试使用悬停,因为用户必须在单击按钮之前悬停在按钮上,我希望它有所帮助
$("input[name=next]").hover(function() {
if ($("id_genre").val()!="" && $("id_privacy").val()!="") {
$("input[name=next]").removeAttr("disabled")
}
});
演示
在演示中,当您单击有效按钮时,它将启用下一个按钮:请让我知道我是否遗漏了任何一点
代码
$("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)
}
喜欢
$("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)
}