Form Validation-Alert box

Please support our JavaScript / DHTML / AJAX advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
Reply

Join Date: Sep 2008
Posts: 4
Reputation: pletch99 is an unknown quantity at this point 
Solved Threads: 0
pletch99 pletch99 is offline Offline
Newbie Poster

Form Validation-Alert box

 
0
  #1
Oct 1st, 2008
I'm having trouble validating my form for missing information. Tried many different functions but when submit the form it will reset the form or it will try to send it. I'm lost any help please. Thanks in advance

JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  4. <head>
  5. <title>Project 3</title>
  6.  
  7.  
  8. <script type="text/javascript">
  9.  
  10.  
  11. <!-- Hide from incompatible browsers
  12.  
  13. var ShipFirst = "";
  14. var ShipLast = "";
  15. var ShipEmail = "";
  16. var ShipCompany = "";
  17. var ShipAddress1 = "";
  18. var ShipAddress2 = "";
  19. var ShipCity = "";
  20. var ShipState = "";
  21. var ShipStateIndex = 0;
  22. var ShipZip = "";
  23. var ShipConfirm = 0;
  24.  
  25. function InitSaveVariables(form) {
  26. ShipFirst = form.ShipFirst.value;
  27. ShipLast = form.ShipLast.value;
  28. ShipEmail = form.ShipEmail.value;
  29. ShipCompany = form.ShipCompany.value;
  30. ShipAddress1 = form.ShipAddress1.value;
  31. ShipAddress2 = form.ShipAddress2.value;
  32. ShipCity = form.ShipCity.value;
  33. ShipZip = form.ShipZip.value;
  34. ShipStateIndex = form.ShipState.selectedIndex;
  35. ShipState = form.ShipState[ShipStateIndex].value;
  36. ShipConfirm = form.ShipConfirm.checked;
  37. }
  38.  
  39. function ShipToBillPerson(form) {
  40. if (form.copy.checked) {
  41. InitSaveVariables(form);
  42. form.ShipFirst.value = form.BillFirst.value;
  43. form.ShipLast.value = form.BillLast.value;
  44. form.ShipEmail.value = form.BillEmail.value;
  45. form.ShipCompany.value = form.BillCompany.value;
  46. form.ShipAddress1.value = form.BillAddress1.value;
  47. form.ShipAddress2.value = form.BillAddress2.value;
  48. form.ShipCity.value = form.BillCity.value;
  49. form.ShipZip.value = form.BillZip.value;
  50. form.ShipState.selectedIndex = form.BillState.selectedIndex;
  51. form.ShipConfirm.checked = form.BillConfirm.checked;
  52. }
  53. else {
  54. form.ShipFirst.value = ShipFirst;
  55. form.ShipLast.value = ShipLast;
  56. form.ShipEmail.value = ShipEmail;
  57. form.ShipCompany.value = ShipCompany;
  58. form.ShipAddress1.value = ShipAddress1;
  59. form.ShipAddress2.value = ShipAddress2;
  60. form.ShipCity.value = ShipCity;
  61. form.ShipZip.value = ShipZip;
  62. form.ShipState.selectedIndex = ShipStateIndex;
  63. form.ShipConfirm.checked = ShipConfirm;
  64. }
  65. }
  66.  
  67. function validateForm(contact)
  68. {
  69.  
  70. if(""==document.forms.contact.shipfirst.value)
  71. {
  72. alert("Please enter your full name.");
  73. return false;
  74. }
  75. if(""==document.forms.contact.shiplast.value)
  76. {
  77. alert("Please enter your last name.");
  78. return false;
  79. }
  80. if(""==document.forms.contact.shipemail.value)
  81. {
  82. alert("Please enter your email address.");
  83. return false;
  84. }
  85. if(""==document.forms.contact.shipcompany.value)
  86. {
  87. alert("Please enter your company name.");
  88. return false;
  89. }
  90. if(""==document.forms.contact.shipaddress1.value)
  91. {
  92. alert("Please enter your address.");
  93. return false;
  94. }
  95. if(""==document.forms.contact.shipaddress2.value)
  96. {
  97. alert("Please enter your address.");
  98. return false;
  99. }
  100. if(""==document.forms.contact.shipcity.value)
  101. {
  102. alert("Please enter your city.");
  103. return false;
  104. }
  105. if(""==document.forms.contact.shipzip.value)
  106. {
  107. alert("Please enter your zip.");
  108. return false;
  109. }
  110. if(""==document.forms.contact.shipstate.value)
  111. {
  112. alert("Please enter your state.");
  113. return false;
  114. }
  115. }
  116.  
  117.  
  118. // Stop hiding from incompatible browsers -->
  119.  
  120. </script>
  121. </head>
  122.  
  123.  
  124.  
  125. <body>
  126.  
  127. <center>
  128.  
  129.  
  130. <form name="contact" method="post" action=""
  131. onSubmit="return validateForm(contact);">
  132.  
  133.  
  134.  
  135. <table border="1" cellspacing="0" cellpadding="3" width="400">
  136.  
  137. <tr bgcolor="#003399">
  138. <td colspan=2 width="100%" bgcolor="#003399">
  139. <b><font color=white size="-1" face="arial, helvetica">Billing Information</font></b>
  140. </td>
  141. </tr>
  142. <tr>
  143. <td>
  144. <font size="-1" face="arial, helvetica">First Name:</font>
  145. </td>
  146. <td>
  147. <input type="text" size="15" maxlength="50" name="BillFirst">
  148. </td>
  149. </tr>
  150. <tr>
  151. <td>
  152. <font size="-1" face="arial, helvetica">Last Name:</font>
  153. </td>
  154. <td>
  155. <input type="text" size="15" maxlength="50" name="BillLast">
  156. </td>
  157. </tr>
  158. <tr>
  159. <td>
  160. <font size="-1" face="arial, helvetica">E-Mail:</font>
  161. </td>
  162. <td>
  163. <input type="text" size="15" name="BillEmail">
  164. </td>
  165. </tr>
  166. <tr>
  167. <td>
  168. <font size="-1" face="arial, helvetica">Company:</font>
  169. </td>
  170. <td>
  171. <input type="text" size="25" maxlength="100" name="BillCompany">
  172. </td>
  173. </tr>
  174. <tr>
  175. <td>
  176. <font size="-1" face="arial, helvetica">Address:</font>
  177. </td>
  178. <td>
  179. <input type="text" size="40" maxlength="35" name="BillAddress1">
  180. </td>
  181. </tr>
  182. <tr>
  183. <td>
  184.  
  185. </td>
  186. <td>
  187. <input type="text" size="40" maxlength="35" name="BillAddress2">
  188. </td>
  189. </tr>
  190. <tr>
  191. <td>
  192. <font size="-1" face="arial, helvetica">City:</font>
  193. </td>
  194. <td>
  195. <input type="text" size="25" maxlength="21" name="BillCity">
  196. </td>
  197. </tr>
  198. <tr>
  199. <td>
  200. <font size="-1" face="arial, helvetica">State:</font>
  201. </td>
  202. <td>
  203. <select name="BillState">
  204. <option selected>
  205. <option value="AL">ALABAMA
  206. <option value="AK">ALASKA
  207. <option value="AZ">ARIZONA
  208. <option value="AR">ARKANSAS
  209. <option value="CA">CALIFORNIA
  210. <option value="CO">COLORADO
  211. <option value="CT">CONNECTICUT
  212. <option value="DE">DELAWARE
  213. <option value="FL">FLORIDA
  214. <option value="GA">GEORGIA
  215. <option value="HI">HAWAII
  216. <option value="ID">IDAHO
  217. <option value="IL">ILLINOIS
  218. <option value="IN">INDIANA
  219. <option value="IA">IOWA
  220. <option value="KS">KANSAS
  221. <option value="KY">KENTUCKY
  222. <option value="LA">LOUISIANA
  223. <option value="ME">MAINE
  224. <option value="MD">MARYLAND
  225. <option value="MA">MASSACHUSETTS
  226. <option value="MI">MICHIGAN
  227. <option value="MN">MINNESOTA
  228. <option value="MS">MISSISSIPPI
  229. <option value="MO">MISSOURI
  230. <option value="MT">MONTANA
  231. <option value="NE">NEBRASKA
  232. <option value="NV">NEVADA
  233. <option value="NH">NEW HAMPSHIRE
  234. <option value="NJ">NEW JERSEY
  235. <option value="NM">NEW MEXICO
  236. <option value="NY">NEW YORK
  237. <option value="NC">NORTH CAROLINA
  238. <option value="ND">NORTH DAKOTA
  239. <option value="OH">OHIO
  240. <option value="OK">OKLAHOMA
  241. <option value="OR">OREGON
  242. <option value="PA">PENNSYLVANIA
  243. <option value="RI">RHODE ISLAND
  244. <option value="SC">SOUTH CAROLINA
  245. <option value="SD">SOUTH DAKOTA
  246. <option value="TN">TENNESSEE
  247. <option value="TX">TEXAS
  248. <option value="UT">UTAH
  249. <option value="VT">VERMONT
  250. <option value="VA">VIRGINIA
  251. <option value="WA">WASHINGTON
  252. <option value="DC">WASHINGTON, D.C.
  253. <option value="WV">WEST VIRGINIA
  254. <option value="WI">WISCONSIN
  255. <option value="WY">WYOMING
  256. </select>
  257.  
  258. <input type="text" size="10" maxlength="10" name="BillZip">
  259. </td>
  260. </tr>
  261. <tr>
  262. <td colspan=2 align=center>
  263. <input type="checkbox" name="BillConfirm" selected> <font face="arial, helvetica" size="-2">Send confirmation email via
  264.  
  265. email</font>
  266. </td>
  267. </tr>
  268.  
  269.  
  270. <tr bgcolor="#003399">
  271. <td colspan=2 width="100%" bgcolor="#003399">
  272. <b><font color=white size="-1" face="arial, helvetica">Shipping Information</font></b>
  273. <font color=white size="-2" face="arial, helvetica">
  274. (Check to use Billing Information: <input type="checkbox" name="copy"
  275. OnClick="javascript:ShipToBillPerson(this.form);" value="checkbox"> )
  276. </td>
  277. </tr>
  278. <tr>
  279. <td>
  280. <font size="-1" face="arial, helvetica">First Name:</font></td>
  281. <td>
  282. <input type="text" size="15" maxlength="50" name="ShipFirst">
  283. </td>
  284. </tr>
  285. <tr>
  286. <td>
  287. <font size="-1" face="arial, helvetica">Last Name:</font>
  288. </td>
  289. <td>
  290. <input type="text" size="15" maxlength="50" name="ShipLast">
  291. </td>
  292. </tr>
  293. <tr>
  294. <td>
  295. <font size="-1" face="arial, helvetica">E-Mail:</font>
  296. </td>
  297. <td>
  298. <input type="text" size="15" name="ShipEmail">
  299. </td>
  300. </tr>
  301. <tr>
  302. <td>
  303. <font size="-1" face="arial, helvetica">Company:</font>
  304. </td>
  305. <td>
  306. <input type="text" size="25" maxlength="100" name="ShipCompany">
  307. </td>
  308. </tr>
  309. <tr>
  310. <td>
  311. <font size="-1" face="arial, helvetica">Address:</font>
  312. </td>
  313. <td>
  314. <input type="text" size="40" maxlength="35" name="ShipAddress1">
  315. </td>
  316. </tr>
  317. <tr>
  318. <td>
  319.  
  320. </td>
  321. <td>
  322. <input type="text" size="40" maxlength="35" name="ShipAddress2">
  323. </td>
  324. </tr>
  325. <tr>
  326. <td>
  327. <font size="-1" face="arial, helvetica">City:</font>
  328. </td>
  329. <td>
  330. <input type="text" size="25" maxlength="21" name="ShipCity">
  331. </td>
  332. </tr>
  333. <tr>
  334. <td>
  335. <font size="-1" face="arial, helvetica">State:</font>
  336. </td>
  337. <td>
  338. <select name="ShipState">
  339. <option selected>
  340. <option value="AL">ALABAMA
  341. <option value="AK">ALASKA
  342. <option value="AZ">ARIZONA
  343. <option value="AR">ARKANSAS
  344. <option value="CA">CALIFORNIA
  345. <option value="CO">COLORADO
  346. <option value="CT">CONNECTICUT
  347. <option value="DE">DELAWARE
  348. <option value="FL">FLORIDA
  349. <option value="GA">GEORGIA
  350. <option value="HI">HAWAII
  351. <option value="ID">IDAHO
  352. <option value="IL">ILLINOIS
  353. <option value="IN">INDIANA
  354. <option value="IA">IOWA
  355. <option value="KS">KANSAS
  356. <option value="KY">KENTUCKY
  357. <option value="LA">LOUISIANA
  358. <option value="ME">MAINE
  359. <option value="MD">MARYLAND
  360. <option value="MA">MASSACHUSETTS
  361. <option value="MI">MICHIGAN
  362. <option value="MN">MINNESOTA
  363. <option value="MS">MISSISSIPPI
  364. <option value="MO">MISSOURI
  365. <option value="MT">MONTANA
  366. <option value="NE">NEBRASKA
  367. <option value="NV">NEVADA
  368. <option value="NH">NEW HAMPSHIRE
  369. <option value="NJ">NEW JERSEY
  370. <option value="NM">NEW MEXICO
  371. <option value="NY">NEW YORK
  372. <option value="NC">NORTH CAROLINA
  373. <option value="ND">NORTH DAKOTA
  374. <option value="OH">OHIO
  375. <option value="OK">OKLAHOMA
  376. <option value="OR">OREGON
  377. <option value="PA">PENNSYLVANIA
  378. <option value="RI">RHODE ISLAND
  379. <option value="SC">SOUTH CAROLINA
  380. <option value="SD">SOUTH DAKOTA
  381. <option value="TN">TENNESSEE
  382. <option value="TX">TEXAS
  383. <option value="UT">UTAH
  384. <option value="VT">VERMONT
  385. <option value="VA">VIRGINIA
  386. <option value="WA">WASHINGTON
  387. <option value="DC">WASHINGTON, D.C.
  388. <option value="WV">WEST VIRGINIA
  389. <option value="WI">WISCONSIN
  390. <option value="WY">WYOMING
  391. </select>
  392.  
  393. <input type="text" size="10" maxlength="10" name="ShipZip">
  394. </td>
  395. </tr>
  396. <tr>
  397. <td colspan=2 align=center>
  398. <input type="checkbox" name="ShipConfirm" selected> <font face="arial, helvetica" size="-2">Send confirmation email via
  399.  
  400. email</font>
  401. </td>
  402. </tr>
  403. <tr>
  404. <td colspan=2 align=center>
  405.  
  406. <input type="reset" value="Reset">
  407.  
  408. </td>
  409. </tr>
  410.  
  411. <tr bgcolor="#003399">
  412. <td colspan=2 width="100%" bgcolor="#003399">
  413. <b><font color=white size="-1" face="arial, helvetica">Hand Tools</font></b>
  414. </td>
  415. </tr>
  416.  
  417. <tr>
  418. <td width="100" valign="top" rowspan="2"><label for="item">Item Purchased</label></td>
  419. <td valign="top" rowspan="2"><select name="item" id="item">
  420. <option>Planes</option>
  421. <option>Gouges</option>
  422. <option>Hammers</option>
  423. <option>Chisels</option>
  424. <option>Saws</option>
  425. <option>Screwdrivers</option>
  426. </select>
  427. </td>
  428. </tr>
  429.  
  430. <tr>
  431. <td colspan=2 align=center>
  432.  
  433.  
  434. <input type="submit" value="Submit">
  435.  
  436. </td>
  437. </tr
  438.  
  439.  
  440. </table>
  441. </form>
  442. </center>
  443. </body>
  444. </html>
Reply With Quote Quick reply to this message  
Join Date: Mar 2008
Posts: 317
Reputation: Thirusha is an unknown quantity at this point 
Solved Threads: 51
Thirusha's Avatar
Thirusha Thirusha is offline Offline
Posting Whiz

Re: Form Validation-Alert box

 
0
  #2
Oct 2nd, 2008
U are not calling your function anywhere in the html

My suggestion would be to change the submit button to a normal button and use the onclick to call teh function like this:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
  1. <input type="button" value="Submit" name="Submit" onclick="validateForm()">

I dont see the need to pass the contact variable in to the function i dont see it being used any where

Another thing u have to swop your comparisons around like this:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
  1. if(document.forms.contact.shipfirst.value == "")
  2. {
  3. alert("Please enter your full name.");
  4. return false;
  5. }
Reply With Quote Quick reply to this message  
Join Date: Aug 2008
Posts: 954
Reputation: essential will become famous soon enough essential will become famous soon enough 
Solved Threads: 131
Featured Poster
essential's Avatar
essential essential is offline Offline
Posting Shark

Re: Form Validation-Alert box

 
0
  #3
Oct 2nd, 2008
Simply Insert this inside the <head> section of your page!

  1. <script type="text/javascript">
  2. <!--
  3.  
  4. var thisName = /^[A-Za-z]{3,50}$/
  5.  
  6. var validEmail = /^(\w+[\-\.])*\w+@(\w+\.)+[A-Za-z]+$/;
  7.  
  8. var zip = /^[0-9]{4,10}$/;
  9. document.onsubmit = function(e)
  10. { e = e ? e : window.event;
  11. t = e.target ? e.target : e.srcElement;
  12.  
  13. var info = [];
  14.  
  15. if (( t.name ) && ( t.name == 'contact' ))
  16. {
  17. if (!thisName.test(t.BillFirst.value && t.BillLast.value))
  18. { var mSlash = ( t.BillFirst.value.length <= 2 && t.BillLast.value.length <= 2 ) ? ' and ' : '';
  19. var fN = ( t.BillFirst.value.length <= 2 ) ? '"FirstName"' : '';
  20. var lN = ( t.BillLast.value.length <= 2 ) ? '"LastName"' : '';
  21.  
  22. info[info.length] = fN + mSlash + lN + ' must be between 3 to 50 characters long and can only contain letters.\n';
  23. }
  24. if (!validEmail.test(t.BillEmail.value)) { info[info.length] = 'Please enter a valid e-mail address!\n'; }
  25.  
  26. if (t.BillCompany.value.length <= 1 || t.BillAddress1.value.length <= 1 || t.BillCity.value.length <= 1) {
  27.  
  28.  
  29. var fC = t.BillCompany.value.length <= 1 ? 'Invalid Company Name ~\n' : '';
  30.  
  31. var fA = t.BillAddress1.value.length <= 1 ? 'Invalid Address ~\n' : '';
  32.  
  33. var fCt = t.BillCity.value.length <= 1 ? 'Invalid City Name ~\n' : '';
  34.  
  35. info[info.length] = 'Please enter a valid value on this field!\n' + fC + fA + fCt; }
  36.  
  37. if ( t.BillState.selectedIndex == 0 ) { info[info.length] = 'Please select a state!\n'; }
  38.  
  39. if (!zip.test(t.BillZip.value)) {
  40. info[info.length] = 'Please enter a valid zip code!\n'; }
  41.  
  42. } if ( info.length > 0 ) { showError(info); return false; } return true;
  43. }
  44.  
  45. function showError(info)
  46. { var errorMessage = '\nThere where some problems...\n';
  47. for ( var er = 0; er < info.length; er++ ) {
  48. var thisError = er + 1;
  49. errorMessage += '\n' + thisError + '. ' + info[er]; } alert(errorMessage);
  50. }
  51. document.onclick = function(e) {
  52.  
  53. var f = e.target || e.relatedTarget;
  54.  
  55. if ((f.name ) && (f.name == 'copy') && (f.checked))
  56. {
  57.  
  58. for ( var j = 0; j <= 6; j++) { var i = 11 + j;
  59. document.contact.elements[i].value = document.contact.elements[j].value; contact.ShipState.selectedIndex = contact.BillState.selectedIndex; contact.ShipZip.value = contact.BillZip.value; }
  60. }
  61. }
  62. //-->
  63. </script>
Reply With Quote Quick reply to this message  
Join Date: Aug 2008
Posts: 954
Reputation: essential will become famous soon enough essential will become famous soon enough 
Solved Threads: 131
Featured Poster
essential's Avatar
essential essential is offline Offline
Posting Shark

Re: Form Validation-Alert box

 
0
  #4
Oct 2nd, 2008
And dont forget to remove your old script and icluding all attached events' in your form!


<form name="contact" method="post" action=""
onSubmit="return validateForm(contact);">

<input type="checkbox" name="copy" value="checkbox"> )
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the JavaScript / DHTML / AJAX Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC