【发布时间】:2011-03-12 22:31:43
【问题描述】:
我必须在我的表单上单击两次提交按钮才能提交它。我如何做到这一点,以便用户只需点击提交?但是,我不想启用 onfocusout 或 onkeyup。我只想通过单击提交按钮来验证我的表单。
$(document).ready(function() {
$.validator.setDefaults({
onfocusout: false,
onkeyup: false
});
$.validator.addMethod("username", function(value, element) {
return this.optional(element) || /^[a-z]+$/i.test(value);
}, "Your username may only contain letters");
var validator = $("#registerForm").validate({
showErrors: function(errorMap, errorList) {
$("#registerForm").find("input").each(function() {
$(this).removeClass("error");
});
$("#errorcontainer").html("");
if(errorList.length) {
$("#errorcontainer").html(errorList[0]['message']);
$(errorList[0]['element']).addClass("error");
$('#errorcontainer').css('display','none');
$('#errorcontainer').fadeIn(400);
}
else {
$('#errorcontainer').css('display','none');
}
},
rules: {
username: {
required: true,
rangelength: [3,15],
remote: "usernamevalidation.php"
},
password: {
required: true,
rangelength: [5,20]
},
passwordconfirm: {
required: true,
equalTo: "#password"
},
email: {
required: true,
email: true,
remote: "emailvalidation.php"
}
},
messages: {
username: {
required: "You must enter a username.",
rangelength: "Your username must be between {0} and {1} letters.",
remote: "Your desired username is already in use."
},
password: {
required: "You must enter a password.",
rangelength: "Your password must be between {0} and {1} letters."
},
passwordconfirm: {
required: "Your passwords must match.",
equalTo: "Your passwords must match."
},
email: {
required: "You must enter an email address.",
email: "Your email address is not valid.",
remote: "This email is already in use."
}
}
});
});
【问题讨论】:
-
您是否尝试将
onsubmit: true添加到默认值? -
我刚刚做了,不幸的是它没有工作:/
-
如果你需要帮助你应该帮助我们帮助你。链接插件的源代码,更重要的是,链接到一个示例,以便我们重现问题。
标签: jquery forms jquery-plugins validation