| | |
Form Validation
Please support our JavaScript / DHTML / AJAX advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
Thread Solved |
•
•
Join Date: Jun 2009
Posts: 6
Reputation:
Solved Threads: 0
Form Validation Script:
If there is an issue in the form I do get the warnings, but The Alert in submitform() is never triggered.
I'm not sure where I'm buggered. Any help is appreciated. If you can streamline the JS that wouldn't be rejected either.
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
<script language="javascript"> function handler(where){ //check for unusual characters var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?"; var wspace = " "; for (var i = 0; i < where.value.length; i++) { if (iChars.indexOf(where.value.charAt(i)) != -1) { return false; } if (wspace.indexOf(where.value.charAt(i)) != -1) { return "nope"; } } } function emailhandler(where){ //check for unusual characters var iChars = "!#$%^&*()+=-[]\\\';,/{}|\":<>?"; var wspace = " "; for (var i = 0; i < where.value.length; i++) { if (iChars.indexOf(where.value.charAt(i)) != -1) { return false; } if (wspace.indexOf(where.value.charAt(i)) != -1) { return "nope"; } } } function isNumberKey(evt,where) { var charCode = (evt.which) ? evt.which : event.keyCode; if (charCode != 8){ var count = where.value.length; if (count === 0){ where.value = "("; } if (count == 4){ where.value = where.value + ")"; } if (count == 8){ where.value = where.value + "-"; } if (charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } else { return true; } } else { return true; } } function checkform() { var mycount = document.getElementsByTagName('input').length; var good = true; for (i=0;i<=mycount;i++) { //alert(document.getElementsByTagName('input')[i].id); var current = document.getElementsByTagName('input')[i]; current.style.border='1px solid'; //check email if (current.id == "email"){ if (current.value !== ""){ var test = emailhandler(current); if(test=="nope"){ alert("Your Email Address can not contain spaces!"); //good = false; } if(test===false){ alert("Your Email Address can not contain special characters!"); //good = false; } } } else { if(current.id !== "click"){ if (current.value !== ""){ var newtest = handler(current); if (newtest===false){ current.style.border='3px solid red'; alert("You have special characters in the field highlighted \r\n" + current.id); good = false; } } } } } } return good; } function submitform(){ var check = checkform(); alert(check); } </script>
If there is an issue in the form I do get the warnings, but The Alert in submitform() is never triggered.
I'm not sure where I'm buggered. Any help is appreciated. If you can streamline the JS that wouldn't be rejected either.
Last edited by Tekmaven; Jun 10th, 2009 at 9:34 pm. Reason: Fixed Code Tags
Hello,
First let me start with the fact that JavaScript is a human language designed to give instructions to an application. As such, it should be used in a manner that is easy for people to read. Proper formatting is critical to allowing people to understand the instructions so that errors are not made that would cause the application to fail the execution of the script. That said, I found that in
I have taken the time to cleanup your code. However, without the html part of your page it is impossible to do any further troubleshooting. I would strongly suggest using an editor that is designed to help people work with code like Notepad++. Here is the cleaned up code:
First let me start with the fact that JavaScript is a human language designed to give instructions to an application. As such, it should be used in a manner that is easy for people to read. Proper formatting is critical to allowing people to understand the instructions so that errors are not made that would cause the application to fail the execution of the script. That said, I found that in
function checkform() you placed too many end brackets and is the most logical cause of the script failing.I have taken the time to cleanup your code. However, without the html part of your page it is impossible to do any further troubleshooting. I would strongly suggest using an editor that is designed to help people work with code like Notepad++. Here is the cleaned up code:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
function handler(where){ //check for unusual characters var iChars="!@#$%^&*()+=-[]\\\';,./{}|\":<>?",wspace = " "; for(var i=0;i<where.value.length;i++){ if(iChars.indexOf(where.value.charAt(i))!=-1){return false} if(wspace.indexOf(where.value.charAt(i))!=-1){return "nope"} } } function emailhandler(where){ //check for unusual characters var iChars = "!#$%^&*()+=-[]\\\';,/{}|\":<>?",wspace = " "; for(var i = 0; i < where.value.length; i++){ if(iChars.indexOf(where.value.charAt(i)) != -1){return false} if(wspace.indexOf(where.value.charAt(i)) != -1){return "nope"} } } function isNumberKey(evt,where){ var charCode=(evt.which)?evt.which:event.keyCode; if(charCode!=8){ var count=where.value.length; if(count===0){where.value="("} if(count==4){where.value+=")"} if(count==8){where.value+="-"} if(charCode>31&&(charCode<48||charCode>57)){return false} else{return true} } else{return true} } function checkform(){ var mycount=document.getElementsByTagName("input").length; var good=true; for(i=0;i<=mycount;i++){ //alert(document.getElementsByTagName("input")[i].id); var current=document.getElementsByTagName('input')[i]; current.style.border="1px solid"; //check email if(current.id=="email"){ if(current.value!==""){ var test=emailhandler(current); if(test=="nope"){ alert("Your Email Address can not contain spaces!"); //good=false; } if(test===false){ alert("Your Email Address can not contain special characters!"); //good=false; } } } else{ if(current.id!=="click"){ if(current.value!==""){ var newtest=handler(current); if(newtest===false){ current.style.border="3px solid red"; alert("You have special characters in the field highlighted \r\n" + current.id); good=false; } } } } } return good; } function submitform(){ var check=checkform(); alert(check); }
•
•
Join Date: Jun 2009
Posts: 6
Reputation:
Solved Threads: 0
Still doesnt' work
I have added the majority of the page to this code, at least enough to make it work for anyone trying to test it out.
I use Dreamweaver CS4 and Notepad++ to write my code.
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
<script language="javascript"> function showship(show){ if(show.checked){ document.getElementById("test").style.display = 'none'; } else { document.getElementById("test").style.display = 'block'; } } function handler(where){ //check for unusual characters var iChars="!@#$%^&*()+=-[]\\\';,./{}|\":<>?",wspace = " "; for(var i=0;i<where.value.length;i++){ if(iChars.indexOf(where.value.charAt(i))!=-1){return false} if(wspace.indexOf(where.value.charAt(i))!=-1){return "nope"} } } function emailhandler(where){ //check for unusual characters var iChars = "!#$%^&*()+=-[]\\\';,/{}|\":<>?",wspace = " "; for(var i = 0; i < where.value.length; i++){ if(iChars.indexOf(where.value.charAt(i)) != -1){return false} if(wspace.indexOf(where.value.charAt(i)) != -1){return "nope"} } } function isNumberKey(evt,where){ var charCode=(evt.which)?evt.which:event.keyCode; if(charCode!=8){ var count=where.value.length; if(count===0){where.value="("} if(count==4){where.value+=")"} if(count==8){where.value+="-"} if(charCode>31&&(charCode<48||charCode>57)){return false} else{return true} } else{return true} } function checkform(){ var mycount=document.getElementsByTagName("input").length; var good=true; for(i=0;i<=mycount;i++){ //alert(document.getElementsByTagName("input")[i].id); var current=document.getElementsByTagName('input')[i]; current.style.border="1px solid"; //check email if(current.id=="email"){ if(current.value!==""){ var test=emailhandler(current); if(test=="nope"){ alert("Your Email Address can not contain spaces!"); //good=false; } if(test===false){ alert("Your Email Address can not contain special characters!"); //good=false; } } } else{ if(current.id!=="click"){ if(current.value!==""){ var newtest=handler(current); if(newtest===false){ current.style.border="3px solid red"; alert("You have special characters in the field highlighted \r\n" + current.id); good=false; } } } } } alert("should Return"); return good; } function submitform(){ var check=checkform(); alert(check); } </script> <style type="text/css"> body { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; } #ship { visibility: hidden; } #test { display: none; } </style> </head> <body> <div id="background"> <div align="center"> <div align="left" style="width:40%"> <div id="uinfo" > <form name="uform" method="post" action="cust_info_handler.php"> <table> <tr><td colspan="2"> <div id="top"> User Information </div> </td></tr> <tr><td> User Name : </td> <td> <?php echo $row['LoginName'];?> </td> </tr> <tr><td> Password : </td> <td> <input name="password" type="password" id="password" maxlength="15" value="<?php echo $row['Password'];?>" /> </td> </tr> <tr><td> Email : </td> <td> <input name="email" type="text" id="email" value="<?php echo $row['Email'];?>"> </td> </tr> </table> <div id="cinfo" style="width:40%"> <table><tr><td colspan="2"><div id="top"> Contact Information </div></td></tr> <tr><td>First Name:</td><td><input name="fname" type="text" id="fname" value="<?php echo $row['Name_First'];?>" size="30"/></td></tr> <tr><td>Last Name:</td><td><input name="lname" type="text" id="lname" value="<?php echo $row['Name_Last'];?>" size="50" /></td></tr> <tr><td>Day Phone:</td><td><input name="dphone" maxlength="13" onkeypress="return isNumberKey(event, this)" type="text" id="dphone" value="<?php echo $row['Phone_Day'];?>" /></td></tr> <tr><td>Message Phone:</td><td><input name="mphone" maxlength="13" onkeypress="return isNumberKey(event, this)" type="text" id="mphone" value="<?php echo $row['Phone_Message'];?>" /></td></tr> <!---//Cell Phone NEEDED\\ ---> <tr><td>Fax Number:</td><td><input name="fax" maxlength="13" onkeypress="return isNumberKey(event, this)" type="text" id="fax" value="<?php echo $row['Fax'];?>" /></td></tr> <tr><td>Company Name:</td><td><input name="cname" type="text" id="cname" value="<?php echo $row['CompanyName'];?>" size="120"/></td></tr> <tr><td>Website:</td><td><input name="www" type="text" id="www" value="<?php echo $row['WebAddress'];?>" size="120"/></td></tr> </table> </div> <div id="minfo"> <table> <tr><td colspan="2"><div id="top"> Mailing Address </div></td></tr> <tr><td>Street Address 1:</td><td><input name="maddress" size="45" type="text" id="maddress" value="<?php echo $row['MailAddress1'];?>" /></td></tr> <tr><td>Street Address 2:</td><td><input name="maddress2" size="45" type="text" id="maddress2" value="<?php echo $row['MailAddress2'];?>" /> <tr><td>City:</td><td><input name="mcity" type="text" id="mcity" value="<?php echo $row['MACity'];?>" /></td></tr> <tr><td>State:</td><td><input name="mstate" type="text" size="2" maxlength="2" id="mstate" value="<?php echo $row['MAState'];?>" /></td></tr> <tr><td>Zip: </td><td><input type="text" id="mzip" value="<?php echo $row['MAZip'];?>"/></td></tr> <tr><td>Country:</td><td><input name="mcountry" type="text" id="mcountry" value="<?php echo $row['MACountry'];?>" /></td></tr> </table> </div> Ship to same address: <input name="vship" type="checkbox" id="vship" checked="checked" onclick="showship(this)" /> <div id="test"> <table> <tr><td colspan="2"><div id="top">Shipping Address</div></td></tr> <tr><td>Street Address 1: </td><td><input type="text" id="saddress" value="<?php echo $row['ShippingAddress1'];?>"/></td></tr> <tr><td>Street Address 2: </td><td><input type="text" id="saddress2" value="<?php echo $row['ShippingAddress2'];?>"/></td></tr> <tr><td>City: </td><td><input type="text" id="scity" value="<?php echo $row['SACity'];?>"/></td></tr> <tr><td>State: </td><td><input type="text" id="sstate" value="<?php echo $row['SAState'];?>"/></td></tr> <tr><td>Zip: </td><td><input type="text" id="szip" value="<?php echo $row['SAZip'];?>"/></td></tr> <tr><td>Country: </td><td><input type="text" id="scountry" value="<?php echo $row['SACountry'];?>"/></td></tr> </table> </div> <div><br><input type="button" name="click" id="click" value="submit" onclick="submitform()" ></div></div> </form> </div> </div> </body> </html>
I have added the majority of the page to this code, at least enough to make it work for anyone trying to test it out.
I use Dreamweaver CS4 and Notepad++ to write my code.
•
•
Join Date: Jun 2009
Posts: 6
Reputation:
Solved Threads: 0
Needs to be cleaned up but I am using this:
if you could tell me why this doesn't work that would be great:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
function validate(where){ var here = where.id; if(here != "email"){ if(here != "www"){ if(here != "dphone"){ if(here != "cphone"){ if(here != "mphone"){ if(here != "fax"){ if(here != "myclick"){ if(here != "vship"){ var newtest = handler(where); if(newtest===false){return false;}else{return true;} } } } } } } } } } //--> function testing(){ var mycount = document.uform.elements.length; var where = document.uform; var goodtogo = true; if (where.email.value!==""){ var test=emailhandler(where.email); if(test===false){goodtogo=false;} } for(i=0;i<mycount;i++){ var test=validate(where.elements[i]); if(test===false){goodtogo=false;} } return(goodtogo); }
if you could tell me why this doesn't work that would be great:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
if((here != "email")||(here != "dphone")||(here != "cphone")||(here != "mphone")||(here != "fax")||(here != "myclick")||(here != "vship")){ alert(here); }
•
•
Join Date: Mar 2005
Posts: 12
Reputation:
Solved Threads: 1
Thanks, I've tried to use it in my own app.
![]() |
Similar Threads
- PHP Form Validation ??? (PHP)
- sample code for form validation using ajax (JavaScript / DHTML / AJAX)
- javascript Form Validation Libraries (JavaScript / DHTML / AJAX)
- PHP Mail Form Validation - Help Please? (PHP)
- coldfusion form validation question (ColdFusion)
- Really Stuck - ASP/Javascript Form Validation (ASP)
- Dreamweaver php form validation and redirect (PHP)
- Help on form validation requested. (PHP)
- uregnt need of form validation (JSP)
Other Threads in the JavaScript / DHTML / AJAX Forum
- Previous Thread: Dynamic Calendar
- Next Thread: how do i fill random number?
Views: 778 | Replies: 7
| Thread Tools | Search this Thread |
Tag cloud for JavaScript / DHTML / AJAX
ajax ajaxcode ajaxhelp ajaxjspservlets animate api automatically blackjack browser bug calendar captchaformproblem checkbox child class close cookies createrange() cursor dependent disablefirebug dom dropdown editor element engine events explorer ext file firehose flash form forms game google gxt hiddenvalue highlightedword html htmlform ie8 iframe image() images internet java javascript jawascriptruntimeerror jquery jsf jsfile jump libcurl margin math matrixcaptcha media microsoft mp3 mysql object offline onmouseoutdivproblem onreadystatechange parent passing pdf php player post progressbar rated regex runtime scroll search security session shopping size software solutions sql star stars stretch synchronous text textarea twitter unicode validation web website window windowsxp wysiwyg xspf \n





