Hi,
primary: it's just the naming
!! In your function validate(), change Name into FullName (as the input) and State into Country (as the input again).... or just vica versa... and voila
This is working.
And about the eMail checking. Good you have the second function validateEmail(), but you're not calling it. Just add following line after your second if... in the validate():
Code:
if (!validateEmail())return false;
Cheers
P.S. And here for you the whole working program again:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<head>
<title>Form Validation</title>
<script type="text/javascript">
function validateEmail(){
var emailID = document.myForm.EMail.value;
atpos = emailID.indexOf("@");
dotpos = emailID.lastIndexOf(".");
if (atpos < 1 || ( dotpos - atpos < 2 )){
alert("Please enter correct email ID");
document.myForm.EMail.focus();
return false;
}
return true;
};
function validate(){
if ( document.myForm.FullName.value == "" ){
alert( "Please provide your full name!" );
document.myForm.FullName.focus() ;
return false;
};
if ( document.myForm.EMail.value == "" ){
alert( "Please provide your Email!" );
document.myForm.EMail.focus() ;
return false;
};
if (!validateEmail())return false;
if ( document.myForm.Zip.value == "" || isNaN( document.myForm.Zip.value ) || document.myForm.Zip.value.length != 5 ){
alert( "Please provide a zip in the format #####." );
document.myForm.Zip.focus() ;
return false;
};
if ( document.myForm.Country.value == "-1" ){
alert( "Please provide your State!" );
return false;
};
return true;
};
</script>
</head>
<body>
<form action="success.html" name="myForm" onsubmit="return validate();">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td align="right">Full Name</td>
<td><input type="text" name="FullName" /></td>
</tr>
<tr>
<td align="right">EMail</td>
<td><input type="text" name="EMail" /></td>
</tr>
<tr>
<td align="right">Zip Code</td>
<td><input type="text" name="Zip" /></td>
</tr>
<tr>
<td align="right">State</td>
<td>
<select name="Country">
<option value="-1" selected>[choose yours]</option>
<option value="1">CT</option>
<option value="2">MA</option>
<option value="3">NH</option>
</select>
</td>
</tr>
<tr>
<td align="right"></td>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>
Bookmarks