我有一个表单,它有一个jquery表单验证..我需要的是当我在验证完成后提交表单时,提交按钮应该被禁用..
<form action="#" method="post" id="myform" name="myform">
Location: <input name="location" type="text" />
Site: <input name="site" type="text" />
Age: <input name="age" type="text" />
Gender <input name="gender" type="text" />
<input name="button" type="submit" class="myButton" id="button" value="Submit" />
</form>
这是我的表单JsFiddle
答案 0 :(得分:4)
不确定为什么要禁用提交按钮但是使用jQuery可以
$('input[type="submit"]').prop('disabled',true);
通常你要么没有提交按钮,要么提交表格,页面会重新加载!
<强>更新强>
要阻止人们通过在评论中写入时刷新页面来重新发布值,请将用户重定向到未发布值的页面!
header('/same_page.php');
答案 1 :(得分:1)
您想在form.submit上执行操作。不确定你是否需要添加form.valid()作为检查,但我总是那样做。之后你可以返回true或false。
这里是代码:
$('#myform').submit(function() {
if (!$('#myform').valid()) return false;
$('#myform input[type=submit]').attr("disabled", "disabled");
return true;
});
我还用这个代码更新了你的小提琴,所以你可以尝试一下
答案 2 :(得分:1)
验证表单后,使用:
$( "#button" ).click(function(event) {
if($('#myform').valid()) {
$(event.target).attr("disabled", "disabled");
}
});
答案 3 :(得分:0)
如果要在要验证的表单有效后禁用,则可以禁用这样的提交按钮
$("#myForm").validate({
submitHandler: function(form) {
// do other stuff for a valid form
$('#myform input[type=submit]').attr("disabled", "disabled");
form.submit();
}
});