Reputation: 37
I'm using JavaScript to validate my form in html but it doesn't seem to be working. I feel pretty certain that my code is right. I'm not sure what's going wrong.it's not displaying any alerts.can anyone have idea what is wrong here?thanks in advance.
<script>
function validate() {
var password2 = document.getElementById("user_password").value;
var repassword1 = document.getElementById("user_repassword").value;
var email1 = document.getElementById("user_email").value;
var atpos = email1.indexOf("@");
var dotpos = email1.lastIndexOf(".");
if (password2.lenght < 7) {
alert("Password must be at least 8 characters long.");
return false;
} else if (password2 !== repassword) {
alert("* Password Does Not Match");
return false;
} else if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length) {
alert("Not a valid e-mail address");
return false;
} else {
return true;
}
}
</script>
<form name="submitform" method="post" action="signupsuccessfull.php" onsubmit="return validate(this)" >
<p id="error_para">* fields are required</p>
<span id="error_para">*</span> Name:<input type="text" name="name" required /><br /><br />
<span id="error_para">*</span> Username:<input type="text" name="username" required id="field_username" /><br /><br />
<span id="error_para">*</span> Password:<input type="password" name="password" id="user_password" required />
<br /><br />
<span id="error_para">*</span> Re-Enter Password:<input type="password" name="repassword" id="user_repassword" required /><br /><br />
<span id="error_para">*</span> Email:<input type="text" name="email" id="user_email" required />
<br /><br />
<span id="error_para">*</span> Gender:<input type="radio" name="gender" value="male" required />Male
<input type="radio" name="gender" value="female" />Female<br />
About Urself:
<textarea rows="5" cols="18" name="about" ></textarea>
<br /><br />
<input type="submit" value="Create Account" name="submit" />
<input type="button" value="Cancle" onClick="parent.location='../example/try2.html'"><br /><br />
</form>
Upvotes: 1
Views: 817
Reputation: 27
I got this working by using the below code
function validate() {
var password2 = document.getElementById("user_password").value;
var repassword1 = document.getElementById("user_repassword").value;
var email1 = document.getElementById("user_email").value;
var atpos = email1.indexOf("@");
var dotpos = email1.lastIndexOf(".");
var emilPat = /( *?[0-9a-zA-Z] *?){8,}/;
var m;
m = emilPat.exec(password2)
if(m== null){
alert("Password must be at least 8 characters long.");
return false;
}
if (password2 !== repassword) {
alert("* Password Does Not Match");
return false;
} else if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length) {
alert("Not a valid e-mail address");
return false;
} else {
return true;
}
}
Upvotes: 0
Reputation: 141
There are 2 typos.
It should be password2.length
It should also be repassword1
, not repassword
only.
Upvotes: 1
Reputation: 8161
To fix, change the line
if (password2.lenght < 7) {
to
if (password2.length < 7) {
And change repassword
to repassword1
Upvotes: 0
Reputation: 3801
there are errors in your code. there may be more..
if (password2.lenght < 7) { // length is the right usage
...
} else if (password2 !== repassword) { // it is repassword1 as per you defined.
use browser console (developer tools) and find and fix all these issues.
javascript errors inside a function wont show up unless the code is invoked, so rest of your code will still be working.
Upvotes: 1
Reputation: 2772
Use it like this:
<script>
function validate() {
var password2 = document.getElementById("user_password").value;
var repassword1 = document.getElementById("user_repassword").value;
var email1 = document.getElementById("user_email").value;
var atpos = email1.indexOf("@");
var dotpos = email1.lastIndexOf(".");
if (password2.lenght < 7) {
alert("Password must be at least 8 characters long.");
return false;
} else if (password2 != repassword1) {
alert("* Password Does Not Match");
return false;
} else if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email1.length) {
alert("Not a valid e-mail address");
return false;
} else {
return true;
}
}
</script>
Upvotes: -1