This is my validation code.
Code:
<script type="text/javascript">
function validate() {
var username = $('username');
var password = $('password');
var email = $('email');
$('error1').innerHTML = "";
$('error2').innerHTML = "";
$('error3').innerHTML = "";
check = "true";
if(username.value.length == "0") {
$('error1').innerHTML = "Please enter a username <br />";
check = "false";
}
if(password.value.length == "0") {
$('error2').innerHTML = "Please enter a password <br />";
check = "false";
}
if(email.value.length == "0") {
$('error3').innerHTML = "Please enter your email <br />";
check = "false";
} else {
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if(!email.value.match(emailExp)){
$('error3').innerHTML = "Please enter a valid email<br />";
check = "false";
}
}
if(check == "false") {
return false;
} else {
return true;
}
}
</script>
This's my form
Code:
<div id="error1" class="error"></div>
<div id="error2" class="error"></div>
<div id="error3" class="error"></div>
<br />
<span style="font-size:5;margin-left:100px;">
<strong>
Register
</strong>
</span>
<br />
<br />
<form action="Process/" method="post" onsubmit="return validate()">
<label for="username">Username:</label> <input type="text" name="username" class="formStyle" id="username" maxlength="10" value=""><br /><br />
<label for="password">Password:</label> <input type="text" name="password" class="formStyle" id="password" maxlength="10" value=""><br /><br />
<label for="email">Email:</label> <input type="text" name="email" class="formStyle" id="email"><br /><br />
<input type="submit" name="submit1" class="submit" value="Submit">
</form>
This's the function $().
Code:
function $(element) {
return document.getElementById(element);
}
Only the email field validates, but when I change these lines
Code:
var username = $('username1');
var password = $('password1');
<label for="username">Username:</label> <input type="text" name="username" class="formStyle" id="username1" maxlength="10" value=""><br /><br />
<label for="password">Password:</label> <input type="text" name="password" class="formStyle" id="password1" maxlength="10" value=""><br /><br />
It works fine. If I add in these alerts
Code:
alert(username.value);
alert(password.value);
It alerts "Username" and "Password" (the values of each of the fields) but when submiting the form, I left all the fields blank...
Can anyone work out why it is assigning values to the fields, even though I left them empty?
Keyboard1333
Bookmarks