Супер новичок. Я делаю контактную форму, используя Javascript, Json и для внутреннего PHP. Я не могу заставить условия работать, когда некоторые поля оставлены пустыми, тогда все предупреждающие сообщения приходят одно за другим.
Я пытался использовать «else» после каждого оператора if, но это работает только для парыпервых условий.
if(result.validAllEmpty == "allEmpty"){
alert("Name, Email and Message are required");
$("#yname").css({"border":"5px solid red"});
$("#nameSpan").text(" must only contain letters and
whitespace, ex.\"John Doe\"");
$("#yemail").css({"border": "5px solid red"});
$("#emailSpan").text(" please enter a valid email address,
ex.\"paulo@brazil.com\"");
$("#ymessage").css({"border":"10px solid red"});
$("#messageSpan").text("please type something, anything");
} else {
if(result.validFormName == "empty" && result.validFormEmail == "empty"){
alert("Name and Email are required");
$("#yname").css({"border":"5px solid red"});
$("#nameSpan").text(" must only contain letters and whitespace, ex.\"John Doe\"");
$("#yemail").css({"border": "5px solid red"});
$("#emailSpan").text(" please enter a valid email address, ex.\"paulo@brazil.com\"");
}
if(result.validFormName == "empty"){
alert("Name is required");
$("#yname").css({"border":"5px solid red"});
$("#nameSpan").text(" must only contain letters and whitespace, ex.\"John Doe\"");
}
if(result.validFormEmail == "empty"){
alert("Email is required");
$("#yemail").css({"border": "10px solid red"});
$("emailSpan").text("please enter a valid email address, ex.\"paulo@brazil.com\"");
}
if(result.validFormName == "empty" && result.validFormMessage == "empty"){
alert("Name and Message are required");
$("#yname").css({"border":"5px solid red"});
$("#nameSpan").text("must only contain letters and whitespace");
$("#ymessage").css({"border":"10px solid red"});
$("#messageSpan").text("type something, anything");
}
if(result.validFormEmail == "empty" && result.validFormMessage == "empty"){
alert("Email and Message are required");
$("#yemail").css({"border": "5px solid red"});
$("#emailSpan").text(" required please enter your email address");
$("#ymessage").css({"border": "10px solid red"});
$("#messageSpan").text("write something, anything..");
}
if(result.validFormMessage == "empty"){
alert("Message is required");
$("#ymessage").css({"border": "10px solid red"});
$("#messageSpan").text(" write something, anything");
}
SOME PHP
} else {
//validate all empty
if (empty ($name) && empty ($email) && empty ($message)){
$export['validAllEmpty'] = "allEmpty";
}
if (empty($name)){
$export['validFormName'] = "empty";
} else {
$export['validFormName'] = "notEmpty";
}
if (empty($email)){
$export['validFormEmail'] = "empty";
} else {
$export['validFormEmail'] ="notEmpty";
}
if (empty($message)){
$export['validFormMessage'] = "empty";
} else {
$export['validFormMessage'] = "notEmpty";
}
}
}
echo json_encode($export);
}
?>
Я бы хотел, чтобы предупреждающие сообщения показывались только для соответствующего условия, а не показывались подряд, один за другим. Кроме того, есть ли способ сделать этот код более простым? Извините, если пост и код грязные. Моя первая публикация здесь. Буду признателен за любую помощь. Спасибо