validateUsername 함수가 서버 측에서 사용자 이름 검사를 완료하기 전에 양식을 제출하는 데 문제가 있습니다.폼을 제출하기 전에 아약스 유효성 검사가 완료 될 때까지 기다리는 방법?
validateUsername 함수가 완료된 후에 만 양식을 어떻게 제출합니까? 이 분명하다 희망 ...
form.submit(function(){
if (validateUsername() & validateEmail() & validatePassword()) {
return true;
} else {
return false;
}
});
function validateUsername(){
usernameInfo.addClass("sign_up_drill");
usernameInfo.text("checking...");
var b = username.val();
var filter = /^[a-zA-Z0-9_]+$/;
$.post("../username_check.php",{su_username:username.val()},function(data) {
if (data=='yes') {
username.addClass("error");
usernameInfo.text("sorry, that one's taken");
usernameInfo.addClass("error");
return false;
} else if (!filter.test(b)) {
username.addClass("error");
usernameInfo.text("no funny characters please");
usernameInfo.addClass("error");
return false;
} else {
username.removeClass("error");
usernameInfo.text("ok");
usernameInfo.removeClass("error");
return true;
}
});
}
와우 나는 frickin이 사이트를 사랑해! 신속하고 간결한 답변 주셔서 감사합니다. 클라이언트 쪽 정규식 유효성 검사를 유지할 계획이지만 제출시 서버 측 사용자 이름 확인을 이동하십시오. – Jung
스크래치 그 ...Adam과 Pim Jager의 조언에 따라 form.submit을 submit.click으로 전환하고 true를 반환하는 대신 변수 usernameIsOkay = true를 작성했습니다. submit.click (함수() { validateUsername(); 경우 (usernameIsOkay) { form.submit(); }}); – Jung