我正在检查提交所需的输入,现在一切都像我想要的那样。只有行为奇怪的错误变量我认为它每次都会覆盖错误变量。我想要的是每当有错误时最多不显示成功消息。现在只有电子邮件有效才有效,因为那是传递var错误的最后一行。
当前代码
var error;
contactForm.on("submit", function(e){
e.preventDefault();
contactFields.each(function(){
if ($(this).val().length == 0 || $(this).val() == 0 || $(this).val() == ""){
$(this).css({"border" : "1px solid red"});
error = true;
} else {
$(this).css({"border" : "2px solid green"});
error = false;
}
});
if(contactName.val().length < 2) {
contactName.css({"border" : "1px solid red"});
error = true;
} else {
contactName.css({"border" : "2px solid green"});
error = false;
}
var checkmail = $.ajax({
method: "POST",
url : "emailcheck.php",
data : {email: contactEmail.val()},
global: false,
async:false,
}).responseText;
if(checkmail === "valid") {
contactEmail.css({"border" : "2px solid green"});
error = false;
} else{
contactEmail.css({"border" : "1px solid red"});
error = true;
}
if (!error) {
$("form").hide();
$(".form-status").html("Successful sended");
}
});
现在每当电子邮件有效时它就会触发$("form").hide(); $(".form-status").html("Successful sended");
,即使其他支票返回error = true
。我该如何做到这一点?
答案 0 :(得分:0)
我只是在猜... 让我知道它是否成功
var error;
contactForm.on("submit", function(e){
e.preventDefault();
contactFields.each(function(){
if ($(this).val().length == 0 || $(this).val() == 0 || $(this).val() == ""){
$(this).css({"border" : "1px solid red"});
error = true;
} else {
$(this).css({"border" : "2px solid green"});
if(!error){error = false;}
}
});
if(contactName.val().length < 2) {
contactName.css({"border" : "1px solid red"});
error = true;
} else {
contactName.css({"border" : "2px solid green"});
if(!error){error = false;}
}
var checkmail = $.ajax({
method: "POST",
url : "emailcheck.php",
data : {email: contactEmail.val()},
global: false,
async:false,
}).responseText;
if(checkmail === "valid") {
contactEmail.css({"border" : "2px solid green"});
if(!error){error = false;}
} else{
contactEmail.css({"border" : "1px solid red"});
error = true;
}
if (!error) {
$("form").hide();
$(".form-status").html("Successful sended");
}
});
答案 1 :(得分:0)
你几乎拥有它:
var error;
contactForm.on("submit", function(e){
error = false;
contactFields.each(function(){
if ($(this).val().length == 0 || $(this).val() == 0 || $(this).val() == ""){
$(this).css({"border" : "1px solid red"});
error = true;
} else {
$(this).css({"border" : "2px solid green"});
}
});
if(contactName.val().length < 2) {
contactName.css({"border" : "1px solid red"});
error = true;
} else {
contactName.css({"border" : "2px solid green"});
}
var checkmail = $.ajax({
method: "POST",
url : "emailcheck.php",
data : {email: contactEmail.val()},
global: false,
async:false,
}).responseText;
if(checkmail === "valid") {
contactEmail.css({"border" : "2px solid green"});
} else{
contactEmail.css({"border" : "1px solid red"});
error = true;
}
if (!error) {
$("form").hide();
$(".form-status").html("Successful sended");
}
return !error;
});