嗨,盖伊,我有这个验证表格。
问题是即使标志返回true它仍然不会提交表单。 我认为这段代码仍然可以改进,但我在jquery中的知识是有限的
function validate_form() {
var lesson_prefference = document.getElementById('Contact0_NewClubDropdown').value;
var flag = false;
if(lesson_prefference!=""){
jQuery('#dropdown_err_msg_prefference').addClass('hidden');
flag = !flag;
}
else{
jQuery('#dropdown_err_msg_prefference').removeClass('hidden');
jQuery('html, body').animate({
scrollTop: jQuery(".top-warning").offset().top}, 1000);
flag = !flag;
}
if (jQuery('#agreeCheckbox').is(':checked') ) {
jQuery('#err_msg_prefference').addClass('hidden');
flag = !flag;
}
else {
jQuery('#err_msg_prefference').removeClass('hidden');
jQuery('html, body').animate({
scrollTop: jQuery(".top-warning").offset().top}, 1000);
flag = !flag;
}
if (flag) {
return true;
}
else {
return false;
}
}
答案 0 :(得分:1)
function validate_form() {
var lesson_prefference = document.getElementById('Contact0_NewClubDropdown').value;
var flag = true;
if(lesson_prefference!=""){
jQuery('#dropdown_err_msg_prefference').addClass('hidden');
}
else{
jQuery('#dropdown_err_msg_prefference').removeClass('hidden');
jQuery('html, body').animate({
scrollTop: jQuery(".top-warning").offset().top}, 1000);
flag = false;
}
if (jQuery('#agreeCheckbox').is(':checked') ) {
jQuery('#err_msg_prefference').addClass('hidden');
}
else {
jQuery('#err_msg_prefference').removeClass('hidden');
jQuery('html, body').animate({
scrollTop: jQuery(".top-warning").offset().top}, 1000);
flag = false;
}
return flag;
}
答案 1 :(得分:0)
从我的角度来看,一旦表单出现偶数错误,就会出现逻辑问题:第二个flag = !flag
即使出现错误也会将false变为true
更好:
function validate_form() {
var lesson_prefference = document.getElementById('Contact0_NewClubDropdown').value;
var errorflag = false;
if(lesson_prefference!=""){
jQuery('#dropdown_err_msg_prefference').addClass('hidden');
}
else{
jQuery('#dropdown_err_msg_prefference').removeClass('hidden');
jQuery('html, body').animate({
scrollTop: jQuery(".top-warning").offset().top}, 1000);
errorflag = true;
}
if (jQuery('#agreeCheckbox').is(':checked') ) {
jQuery('#err_msg_prefference').addClass('hidden');
}
else {
jQuery('#err_msg_prefference').removeClass('hidden');
jQuery('html, body').animate({
scrollTop: jQuery(".top-warning").offset().top}, 1000);
errorflag = true;
}
return !errorflag;
}