안녕 내 모든 코드는 하나씩 테스트 할 때 훌륭하게 작동하지만 첫 번째 IF 문에 도달하면 모두 함께 삽입하면 true를 반환하고 다른 항목을 확인하지 않고 양식을 제출합니다. 누군가 내 코드를 변경하는 방법을 알려줄 수 있습니까? true를 반환하기 전에 모든 IF 문을 실행합니다.
내 코드는 다음과 같습니다.
if (this.element.find('#visitdate').length > 0) {
var dateParts = $('#tvisitdate').val().split('/');
var check = new Date(dateParts[2], dateParts[1]-1, dateParts[0], 0,0,0,0);
var d = new Date();
var today = new Date(d.getFullYear(), d.getMonth(), d.getDate());
if (today.getTime() > check.getTime() ) {
_errMsg = "Please enter a future visit date";
return false;
} else {
return true;
}
}
if (this.element.find('#birthdate').length > 0) {
var dateParts1 = $('#birthdate').val().split('/');
var check1 = new Date(dateParts1[2], dateParts1[1]-1, dateParts1[0], 0,0,0,0).getFullYear();
var today1 = new Date();
var year = today1.getFullYear();
if (check1 >= year) {
_errMsg = "Please enter a valid date of birthday";
return false;
} else {
return true;
}
}
부울 (true / false) 변수를 사용한 다음 코드 끝에 해당 변수를 반환합니다. 이렇게하면 return 문이 하나만 있습니다.
var check_no_error = true;
if (this.element.find('#visitdate').length > 0) {
var dateParts = $('#tvisitdate').val().split('/');
var check = new Date(dateParts[2], dateParts[1]-1, dateParts[0], 0,0,0,0);
var d = new Date();
var today = new Date(d.getFullYear(), d.getMonth(), d.getDate());
if (today.getTime() > check.getTime() ) {
_errMsg = "Please enter a future visit date";
check_no_error = false;
}
}
if (this.element.find('#birthdate').length > 0) {
var dateParts1 = $('#birthdate').val().split('/');
var check1 = new Date(dateParts1[2], dateParts1[1]-1, dateParts1[0], 0,0,0,0).getFullYear();
var today1 = new Date();
var year = today1.getFullYear();
if (check1 >= year) {
_errMsg = "Please enter a valid date of birthday";
check_no_error = false;
}
}
return check_no_error;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다