제가 생각하기에 문제는 흐림에 호출 될 함수 안에있는 error
입니다. 함수 호출이 완료되면 정의되지 않은 상태가됩니다. 거래는 변수가 전역 적이어야한다는 것입니다. 당신이이 일을해야 $(document).ready()
이상이를 넣어해야합니다
var error = false;
$('#joinForm input').blur(function() {
var id = $(this).attr('id');
var val = $(this).val();
if (id == 'email') {
$('#emailMsg').hide();
if (val == '') {
error = true;
$('#' + id).after('<div id="emailMsg" class="error">' + error + '</div>');
}
else {
$('#' + id).after('<div id="emailMsg" class="success">' + error + '</div>');
}
}
if (id == 'cemail') {
$('#cemailMsg').hide();
}
if (id == 'password') {
$('#passwordMsg').hide();
if (val == '') {
error = true;
$('#' + id).after('<div id="passwordMsg" class="error">' + error + '</div>');
}
else {
$('#' + id).after('<div id="passwordMsg" class="success">' + error + '</div>');
}
}
if (id == 'cpassword') {
$('#cpasswordMsg').hide();
}
if (id == 'username') {
$('#usernameMsg').hide();
if (val == '') {
error = true;
$('#' + id).after('<div id="usernameMsg" class="error">' + error + '</div>');
}
else {
$('#' + id).after('<div id="usernameMsg" class="success">' + error + '</div>');
}
}
$('#joinForm').submit(function(){
if (error == true) {
return false;
}
else {
return true;
}
});
});
당신이 당신이 오류를 검사 할 각 입력 요소와 연관 배열을 만들 필요가 있다고 생각합니다. 그런 다음 제출 이벤트가 실행되면 배열을 반복하여 오류 상태에있는 입력을 볼 수 있습니다. 있는 경우 제출 완료를 방지하십시오. –
지금 고맙다. –