Hi there,
I am currently doing some exercises on the JavaScript 4th edition by Don Gosselin. Well, the book itself is good, but here comes the problem (also i know its a pain in the ass to read that much code, but please if you are able to provide some help will be much appreciated)...and just to mention I am pasting the code for the form, but the problem is that the validation part is not working:
Code:<script> function checkForNumber(fieldValue){ var numberCheck = isNaN(fieldValue); if (numberCheck == true){ window.alert("You must enter a numeric value!"); return false; } } //Confirm Password box function function confirmPassword(){ if(document.forms[0].password_confirm.value != document.forms[0].password.value){ window.alert("You did not enter the same password!"); document.forms[0].password.focus(); } } function noDelivery(){ for(var i=0; i<document.forms[0].delivery.length;++i){ if (document.forms[0].delivery[i].checked==true) document.forms[0].delivery[i].checked = false; } } function noSunday(){ for(var i=0; i<document.forms[0].sunday.length;++i){ if (document.forms[0].sunday[i].checked == true) document.forms[0].sunday[i].checked = false; } } //Function for copying the same data from a checkbox function sameShippingInfo(){ if (document.forms[0].elements[5].checked == true){ document.forms[0].name_shipping.value = document.forms[0].name_billing.value; document.forms[0].address_shipping.value = document.forms[0].address_billing.value; document.forms[0].city_shipping.value = document.forms[0].city_billing.value; document.forms[0].state_shipping.value = document.forms[0].state_billing.value; document.forms[0].zip_shipping.value = document.forms[0].zip_billing.value; }else{ document.forms[0].name_shipping.value=""; document.forms[0].address_shipping.value=""; document.forms[0].city_shipping.value=""; document.forms[0].state_shipping.value=""; document.forms[0].zip_shipping.value=""; } } //Adding magazines to the select box. -missing form subscription for adding values function addMagazine() { if (document.forms[0].magazines.options[0] && document.forms[0].magazines.options[0].value == "none") document.forms[0].magazines.options[0] = null; else { var magazine = new Option(); magazine.text = document.forms[0].elements[31].value magazine.value = document.forms[0].elements[31].value nextItem = document.forms[0].magazines.length; document.forms[0].magazines.options[nextItem] = magazine; document.forms[0].elements[31].value = ""; } } function deleteMagazine() { var selectedItem = document.forms[0].magazines.selectedIndex; if (selectedItem == -1) window.alert("You must select a magazine name in the list."); else document.forms[0].magazines.remove(selectedItem); } function changeMagazine() { var selectedItem = document.forms[0].magazines.selectedIndex; if (selectedItem == -1) window.alert("You must select a magazine name in the list."); else { document.forms[0].magazines.options[selectedItem] .value = document.forms[0].elements[31].value; document.forms[0].magazines.options[selectedItem] .text = document.forms[0].elements[31].value; } } //The above funciton is based on the values, not on the form elements, however else statement is using the [31] element. //onsubmit and onreset funciton below.!. function confirmSubmit(){ var submitForm = window.confirm("Are you sure you want to submit the form?"); if (submitForm != true){ return false; } else if(document.form[0].name_billing.value == "" || document.forms[0].address_billing.value == "" || document.forms[0].city_billing.value == "" || document.forms[0].state_billing.value == "" || document.forms[0].zip_billing.value == ""){ window.alert("You must enter your billing information."); return false; } else if(document.forms[0].name_shipping.value == "" ||document.forms[0].address_shipping == "" ||document.forms[0].city_shipping == "" ||document.forms[0].state_shipping == "" ||document.forms[0].zip_shipping == ""){ window.alert("You must enter your shipping information."); return false; } else if(document.forms[0].area.value == "" ||document.forms[0].exchange.value == "" ||document.forms[0].phone.value == ""){ window.alert("You must enter your telephone number"); return false; } else if(document.forms[0].password.value == "" ||document.forms[0].password_confirm.value == ""){ window.alert("You must enter a password"); return false; } return true; } function confirmReset(){ var resetForm = window.confirm("Are you sure you want to reset the form?"); if(resetForm == true){ return true; }else{ return false; } } </script> </head> <body> <h1> Gosselin Gazette Subscription Form</h1> <h2>Customer Information</h2> <form action="FormProcessor.html" method="get" enctype="application/x-www-form-urlencoded" onsubmit="return confirmSubmit();" onreset="return confirmReset();"> <table border="4"> <tr> <td valign="top"><h3>Billing Information</h3> <p>Name<br /> <input type="text" name="name_billing" size="50" /></p> <p>Address<br /> <input type="text" name="address_billing" size="50" /></p> <p>Sity, State, Zip<br /> <input type="text" name="city_billing" size="34" /> <input type="text" name="state_billing" size "2" maxlength ="2" /> <input type="text" name="zip_billing" size="10" maxlength ="10" onchange="return checkForNumber(this.value);"/></p> <p><input type="checkbox" onclick="sameShippingInfo();" />Same shipping information</p> </td> <td valign="top"> <h3>Shipping Information</h3> <p>Name<br /> <input type="text" name="name_shipping" size="50" /></p> <p>Adress<br /> <input type="text" name="address_shipping" size="50" /></p> <p>City, State, Zip<br /> <input type="text" name="city_shipping" size="34" /> <input type="text" name="state_shipping" size="2" maxlength="2"/> <input type="text" name="zip_shipping" size="2" maxlength="10" onchange="return checkForNumber(this.value);"/></p> </td> </table> <p>Telephone</p> <p>(<input type="text" name="area" size="3" maxlength="3" onchange="return checkForNumber(this.value);" />) <input type="text" name="exchange" size="3" maxlength="3" onchange="return checkForNumber(this.value);"/> <input type="text" name="phone" size="4" maxlength="4" onchange="return checkForNumber(this.value);"/></p> <p>Enter a password for subscription managing:</p> <p><input type="password" name="password" size="25"/></p> <p>Confirm Password:</p> <p><input type="password" name="password_confirm" size="25" onblur="confirmPassword();" /></p> <h3>Delivery Rates</h3> <table border="0"> <colgroup align ="left" width="100" /> <colgroup span="4" align="center" width="100" /> <tr><th> </th> <th>4 weeks</th> <th>13 weeks</th> <th>26 weeks</th> <th>52 weeks</th></tr> <tr><td><strong>Mon-Sat</strong></td> <td><input type="radio" name="delivery" value="12.60" onclick="noSunday();"/>$12.60</td> <td><input type="radio" name="delivery" value="40.95" onclick="noSunday();"/>$40.95</td> <td><input type="radio" name="delivery" value="81.90" onclick="noSunday();"/>$81.90</td> <td><input type="radio" name="delivery" value="156.00" onclick="noSunday();"/>$156.00</td></tr> <tr><td><strong>Every Day</strong></td> <td><input type="radio" name="delivery" value="13.56" onclick="noSunday();" />$13.56</td> <td><input type="radio" name="delivery" value="44.07" onclick="noSunday();"/>$44.07</td> <td><input type="radio" name="delivery" value="88.14" onclick="noSunday();"/>$88.14</td> <td><input type="radio" name="delivery" value="159.74" onclick="noSunday();"/>$159.74</td></tr> </table> <p><strong>Sundays Only ($3.50 per week)</strong> <input type="radio" name="sunday" value="weekly" onclick="noDelviery();" /> Bill me weekly <input type="radio" name="sunday" value="monthly" onclick="noDelivery();" /> Bill me monthly</p> <p>Do you subscribe to any other newspapers?</p> <p><input type="checkbox" name="newspapers" value="nytimes" /> New York Times<br /> <p><input type="checkbox" name="newspapers" value="bostonglobe" /> Boston Globe<br /> <p><input type="checkbox" name="newspapers" value="sfchronicle" /> San Fransisco Chronicle<br /> <p><input type="checkbox" name="newspapers" value="miamiherald" /> Miami Herald<br /> <p><input type="checkbox" name="newspapers" value="other" /> Other <br /> <p>Magazine <input type="text" size="68" /></p> <p><input type="button" value="Add Magazine" onclick="addMagazine();" style="width: 120px" /> <input type="button" value="Delete Magazine" onclick="deleteMagazine()" style="width: 120px" /> <input type="button" value="Clear List" onclick="document.forms[0].magazines.options.length = 0;" style="width: 120px" /> <input type="button" value="Change Magazine" onclick="changeMagazine()" style="width: 120px" /></p> <p><select name="magazines" multiple="multiple" size="10" style="width: 500px"> <option value="none">Enter the magazines you subscribe to</option> </select></p> <p><input type="image" alt="Graphical image of a subscribe button" src="subscribe.gif" /></p> <p><input type="reset" /></p> </form> </body> </html>


Reply With Quote

Bookmarks