I am building my first contact form using HTML, Bootstrap and JavaScript:
- I am currently trying to validate my form for inputs.
- I have been successful to stop the form submission if any input is missing but I
am unable to submit the form once all the inputs are entered.
- Please provide me solutions for this in vanilla js.
document.getElementById("myForm").addEventListener("submit", function(evt) {
evt.preventDefault();
var error = "";
if (document.getElementById("email").value == "") {
error += "The email field is required.<br>";
}
if (document.getElementById("subject").value == "") {
error += "The subject field is required.<br>";
}
if (document.getElementById("content").value == "") {
error += "The content field is required.<br>";
}
if (error != "") {
document.getElementById("error").innerHTML = '<div class="alert alert-danger" role="alert"><p><strong>There were error(s) in your form:</strong></p>' + error + '</div>';
return false;
} else {
document.getElementById("myForm").removeEventListener("submit", function() {
return true;
});
}
});
<div class="container">
<p class="display-6">Get in Touch!</p>
<div id="error"></div>
<form id="myForm" method="post">
<div class="mb-3">
<label class="form-label">Email address</label>
<input id="email" type="email" name="email" class="form-control" placeholder="Enter Email">
<p class="form-text">We'll never share your email with anyone else</p>
</div>
<div class="mb-3">
<label class="form-label">Subject</label>
<input id="subject" type="text" name="subject" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">What would you like to ask us?</label>
<textarea id="content" type="text" name="body" class="form-control"></textarea>
</div>
<input id="submit" name="submit" type="submit" class="btn btn-primary">
</form>
</div>