Hello,
I've a problem regarding the registration form validation. I want my form to be such that "submit" button should be active if and only if all the fields are correctly entered.
I made it like the following.
"My js script code",
<script language="javascript" type="text/javascript">
s=0;
function validatePassword()
{
var pwd1 = document.getElementById('password');
var test = true;
//If password is less than 6 characters
if(pwd1.value.length < 6)
test = false;
if(test) //validation passed
{
//Change input background green
//pwd1.style.backgroundColor = 'green';
document.getElementById("passwordbox").innerHTML="<img src=./images/tick1.png width=20 height=20> Password length is Ok";
}
else //Validation failed
{
//Change input background red
//pwd1.style.backgroundColor = 'red';
document.getElementById("passwordbox").innerHTML="<img src=./images/cross.gif width=20 height=20> Passwords length should be atleast 6 characters";
}
//var pwd2 = document.getElementById('conf_password');
}
function ajaxFunction2()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
if(document.registerform.password.value == document.registerform.conf_password.value)
{
document.getElementById("row21").innerHTML="<img src=./images/tick1.png width=20 height=20> Passwords are matching";
document.getElementById("row22").innerHTML="";
s=1;
setSubmit();
}
else
{
document.getElementById("row21").innerHTML="<img src=./images/cross.gif width=25 height=25> ";
document.getElementById("row22").innerHTML="<font color=red>The passwords do not match. Please re-enter the passwords.</font>";
s=0;
setSubmit();
}
}
}
xmlHttp.open("GET","tab.html",true);
xmlHttp.send(null);
}
window.onload = function()
{
document.registerform.register.disabled = true;
}
function setSubmit()
{
if(s=1)
{
document.registerform.register.disabled = false;
}
else
{
document.registerform.register.disabled = true;
}
}
</script>
"My regsitration code",
<form method="post" action="register.php" name="registerform" id="registerform">
<fieldset>
<table align="left" style="margin-top:-150px;" cellspacing="5">
<tr>
<td width="170">
<label for="username" style="color:#000000; font-size: 13.5px; font-family: Arial, Helvetica, sans-serif" ><b>User Name:</b></label>
<td width="129"><input type="username" name="username" id="username" onKeyUp="verifLogin(this.value)" maxlength="26"/><span id="row11"></span></td><br />
<td><div id="loginbox"><br>
</div></td>
</tr>
<tr>
<tr><td><label for="password">Password: <br /></label></td>
<td><input type="password" name="password" id="password" onKeyUp="validatePassword();"/></td><br />
</td>
<td><div id="passwordbox"><br></div></td>
</tr>
<tr>
<td>
<label for="conf_password">Confirm Password:</label> <td><input type="password" name="conf_password" id="conf_password" onchange="ajaxFunction2();"/></td><br />
</td>
<td><span id="row21"></span><span id="row22"></span></td>
</tr>
<tr>
<td>
<label for="email">Email Address: </label> <td><input type="text" name="email" id="email" onBlur="AjaxFunction(this.value);"/></td><br />
</td>
<td><div id="msg"></div></td>
</tr>
<tr>
<td>
<label for="sex">Sex: </label> <td><input type="radio" name="sex" id="male" value="m" /> Male
<input type="radio" name="sex" id="female" value="f" /> Female</td>
</tr>
<tr>
<td>
<label for="College">College: </label> <td><input type="text" name="college" id="college" /></td><br />
</td>
</tr>
<tr>
<td>
<label for="Stream">Stream: </label> <td><input type="text" name="stream" id="stream" /></td><br />
</td>
</tr>
<tr>
<td>
<label for="specialization">Specialization: </label><td><input type="text" name="specialization" id="specialization" /></td><br />
</td>
</tr>
<tr>
<td>
<label for="yog">Year of Graduation: </label></td>
<td>
<select name="yog" id="yog" value="year">
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
</select>
</td>
</tr>
</table>
</fieldset>
</form>
I kept a variable "s" to the js function and i've created a function setSubmit() so that it is called in the validate function ajaxPassword().
Now I want for the rest of the fields in correct way.
Please help me....