除了当我在服务器上运行完全相同的脚本时它没有什么可以添加的,它可以正常工作。验证适用于错误以及提交表单。但是为了方便起见,我有时会通过xampp,localhost来处理项目。问题是submitHandler根本不会触发。这不是验证插件设置不正确的情况,否则错误将无法正常工作。我已经附上了以下代码
function registerpage(){
//******** Registration page functions *******//
$("#dob").datepicker({dateFormat:"dd/mm/yy"}); // date picker plugin
$("#register_form").validate({
errorClass : "invalid",
invalidHandler:function(event, validator) {$('html, body').animate({scrollTop: '0px'}, 300);},
submitHandler: registeruser,
onfocusout: false,
onkeyup: false,
onclick: false,
rules: {
firstname: {
required : true
},
lastname: {
required : true
},
email:{
required: true,
email: true,
remote: {
url: "/actions/emailcheck.php",
async: false,
type: "post"
}
},
password:{
required:true,
minlength: 5
},
repeat:{
required: true,
equalTo: "#password"
},
postcode:{
required: true,
number: true,
minlength: 4
},
"sport[]":{
required: true
},
dob : {
required: true,
date: true
}
},
messages : {
firstname: {
required : "Enter your first name"
},
lastname: {
required : "Enter your last name"
},
email:{
required: "Enter your email",
email:"Enter a valid email",
remote: "Email already in use"
},
password:{
required:"Enter a password", minlength: "Password must be 5 characters long"
},
repeat:{
required: "Enter a confirmation password", equalTo: "Repeated password does not match"
},
postcode:{
required: "Enter postcode",
number: "Post code must be 4 digit number",
minlength: "Post code must be 4 digit number"
},
dob:{
required: "Enter date of birth",
date: "Enter valid date of birth"
},
"sport[]": {
required: "Select at least one sport"
}
},
errorContainer: $(".errorCont"),
errorLabelContainer: $('.errorCont ul'),
wrapper: 'li'
});
/*Add user to database*/
function registeruser(){
// submit user
disablebtn($("#regbtn"));
var frmsrl = $("#register_form").serialize();
$.post('actions/action.php',frmsrl,
function(data){
//successfully registered
showpopup("reg");
});
}
}
真的很困惑为什么它在服务器上工作但在localhost上不工作。这只是由于错误正常而无法调用的submitHandler。