我正在开发一个表单验证器,当我在底部调用函数 submitcheck 时,没有满足 if 条件并且$("#send").button("enable");
没有触发。我已经在没有 if 语句的情况下确认该函数确实被调用并且如果$("#send").button("enable");
触发它按预期工作。我在这里做错了什么?
function submitcheck() {
if (firstnamecheck() & lastnamecheck() & phonenumbercheck() & emailaddresscheck() & customermessagecheck() == true) {
$("#send").button("enable");
}
}
$(".email").click(function() {
$("#email-form").dialog("open");
});
$("#first-name").keyup(function(firstnamecheck) {
if ($("#first-name").val().length >= 2) {
$("#first-name-check").fadeIn(100);
return true;
}
else if ($("#first-name").val().length < 2) {
$("#first-name-check").fadeOut(100);
return false;
}
});
$("#last-name").keyup(function(lastnamecheck) {
if ($("#last-name").val().length >= 2) {
$("#last-name-check").fadeIn(100);
return true;
}
else if ($("#last-name").val().length < 2) {
$("#last-name-check").fadeOut(100);
return false;
}
});
$("#area-code, #phone-prefix, #phone-postfix").keyup(function(phonenumbercheck) {
if ((($("#area-code").val().length == 3) && ($("#phone-prefix").val().length == 3) && ($("#phone-postfix").val().length == 4))) {
$("#phone-number-check").fadeIn(100);
return true;
}
else if ((($("#area-code").val().length < 3) && ($("#phone-prefix").val().length < 3) && ($("#phone-postfix").val().length < 4))) {
$("#phone-number-check").fadeOut(100);
return false;
}
});
$("#email-address").keyup(function(emailaddresscheck) {
if ($("#email-address").val().length >= 6) {
$("#email-address-check").fadeIn(100);
return true;
}
else if ($("#email-address").val().length <= 5) {
$("#email-address-check").fadeOut(100);
return false;
}
});
$("#customer-message").keyup(function(customermessagecheck) {
if ($("#customer-message").val().length >= 10) {
$("#customer-message-check").fadeIn(100);
return true;
}
else if ($("#customer-message").val().length <= 9) {
$("#customer-message-check").fadeOut(100);
return false;
}
});
$("#customer-message").keyup(submitcheck);
好的,谢谢你们,我明白了。我重写了脚本,使其具有单独的处理函数和单独的激活器。以下确实有效:
function submitcheck() {
if (firstnamecheck() && lastnamecheck() && phonenumbercheck() && emailaddresscheck() && customermessagecheck() === true) {
$("#send").button("enable");
}
}
function firstnamecheck() {
if ($("#first-name").val().length >= 2) {
$("#first-name-check").fadeIn(100);
return true;
}
else if ($("#first-name").val().length < 2) {
$("#first-name-check").fadeOut(100);
return false;
}
}
function lastnamecheck() {
if ($("#last-name").val().length >= 2) {
$("#last-name-check").fadeIn(100);
return true;
}
else if ($("#last-name").val().length < 2) {
$("#last-name-check").fadeOut(100);
return false;
}
}
function phonenumbercheck() {
if ((($("#area-code").val().length == 3) && ($("#phone-prefix").val().length == 3) && ($("#phone-postfix").val().length == 4))) {
$("#phone-number-check").fadeIn(100);
return true;
}
else if ((($("#area-code").val().length < 3) && ($("#phone-prefix").val().length < 3) && ($("#phone-postfix").val().length < 4))) {
$("#phone-number-check").fadeOut(100);
return false;
}
}
function emailaddresscheck() {
if ($("#email-address").val().length >= 6) {
$("#email-address-check").fadeIn(100);
return true;
}
else if ($("#email-address").val().length <= 5) {
$("#email-address-check").fadeOut(100);
return false;
}
}
function customermessagecheck() {
if ($("#customer-message").val().length >= 10) {
$("#customer-message-check").fadeIn(100);
return true;
}
else if ($("#customer-message").val().length <= 9) {
$("#customer-message-check").fadeOut(100);
return false;
}
}
$(".email").click(function() {
$("#email-form").dialog("open");
});
$("#first-name").keyup(firstnamecheck);
$("#last-name").keyup(lastnamecheck);
$("#area-code, #phone-prefix, #phone-postfix").keyup(phonenumbercheck);
$("#email-address").keyup(emailaddresscheck);
$("#customer-message").keyup(customermessagecheck);
$("#customer-message").keyup(submitcheck);