Click here to Skip to main content
15,883,606 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi I'm trying to validate my form when someone presses the submit button.
I need to make sure that the age is selected and that the email is valid.

here's my HTML for the form
HTML
<pre><form name="myForm" method="get" onsubmit = "return(validateForm());">
	<li>
		<label for="name">Name:</label>
			<input type="text" id="name" name="name" />
	</li>
	<li>
		<label>Select age:</label>
			<select id="mySelect" onchange="age()" required>
				<option value="Grade">Age</option>
				<option value="Grade 1">6</option>
				<option value="Grade 2">7</option>
				<option value="Grade 3">8</option>
				<option value="Grade 4">9</option>
				<option value="Grade 5">10</option>
				<option value="Grade 6">11</option>
			</select>
	</li>
	<!--	<p id="selectedGrade"></p>-->
	<li>
		<label for="email">E-mail:</label>
			<input type="email" id="email" name="email" />
	</li>
		  <li class="button">
			<button type="submit">Submit</button>
	</li>
</form>	
	
<script type="text/javascript" src="assignmentJs.js"></script>


What I have tried:

JavaScript
function validateForm() {
    var name = document.forms["myForm"]["name"].value;
    if (name == " ") {
    alert("name must be filled out");
    return false;
  }else
  var select = document.forms["myForm"]["myselect"].value;
  if (select == " ") {
    alert("age must be filled out");
    return false;
  }else
var email = document.getElementById('email')

    email.addEventListener('blur', function (event) {
      event.target.style.backgroundColor = event.target.validity.valid
        ? 'transparent'
        : '#FA8072'
    });

};
Posted
Updated 13-May-20 16:46pm

I have a solution to your validation problem

The Javascript code is the following :

JavaScript
function validateForm() {
    var name = document.getElementById('name').value;
    var select = document.getElementById('mySelect');
    var email = document.getElementById('email').value;
    if (name == "") {
        alert("name must be filled out");
    }
    if (select.options[select.selectedIndex].value == "Grade") {
        alert("age must be filled out");
    }

    if (email == "") {
        alert("Email Must be  filled Out");
    }
    else {
        email.addEventListener('blur', function (event) {
            event.target.style.backgroundColor = event.target.validity.valid
                ? 'transparent'
                : '#FA8072'
        });
    }
};
 
Share this answer
 
Comments
Member 14825986 13-May-20 23:39pm    
Thank you
select == ""


you have a blank space in the condition
 
Share this answer
 
Comments
Member 14825986 12-May-20 19:39pm    
Would it be secect == 'false'?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900