I have a simple form consisting of 3 input fields. All inputs are required. I have set the form's 'onsubmit' attribute to 'return validateForm()'. Within this function, I am doing the form validation. I have it working so far so that if all fields are empty, the error spans are displayed. Getting the individual errors to come up with the appropriate fields is the part I'm having trouble with. Basically, if I leave 2 fields empty, only one error message comes up. I want it so that no matter what fields are empty, the appropriate error messages appear.
Here is my code:
HTML:
<form id="contactForm" action="contact.php" method="post" onsubmit="return validateForm()">
<div>
<input type="text" name="name" id="name" placeholder="Your Name" maxlength="65" tabindex="1">
<label for="name">Name</label>
<span class="error" id="fname">Please tell me your name.</span>
</div>
<div>
<input type="email" name="_replyto" id="email" placeholder="Your Email" tabindex="2">
<label for="email">Email</label>
<span class="error" id="yourEmail">Please tell me your email address.</span>
</div>
<div>
<textarea name="message" id="message" rows="10" placeholder="Your Message..." maxlength="500" tabindex="3" ></textarea>
<label for="message">Your Message</label>
<span class="error" id="yourMessage">Please leave me a message.</span>
</div>
<div>
<input type="submit" value="Send" tabindex="4">
</div>
</form>
Javascript:
function validateForm() {
var name = document.forms["contactForm"]["name"].value;
var email = document.forms["contactForm"]["_replyto"].value;
var message = document.forms["contactForm"]["message"].value;
if ((name == null || name == "") && (email == null || email == "") && (message == null || message == "")) {
$(".error").show();
return false;
} else if (name == null || name == "") {
$("#fname").show();
return false;
} else if (email == null || email == "") {
$("#yourEmail").show();
return false;
} else if (message == null || message == "") {
$("#yourMessage").show();
return false;
} else {
//submit form
return true;
}
}
Once the function returns true, am I right in saying that the form will then submit via the contact.php file?
Thanks in advance.