Jump to content

Can anyone help with validation script?


twilitegxa

Recommended Posts

I have the following page and script:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gosselin Gazette Subscription Form</title>
<meta http-equiv="content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="js_styles.css" type="text/css" />
<script type="text/javascript">
/*<![CDATA[ */
function checkForNumber(fieldValue) {
   var numberCheck = isNaN(fieldValue);
   if (numberCheck == true) {
      window.alert("You must enter a numeric value!");
      return false;
   }
}

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 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 = "";
   }
}

function addMagazine() {
    if (document.forms[0].magazines.options[0]
        && (document.forms[0].magazines.options[0].value == "none"))
                document.forms[0].magazines.options[0] = null;
   if (document.forms[0].elements[31].value == "")
      window.alert("You must enter a magazine name.");
   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 confirmSubmit() {
    if (document.forms[0].name_billing == ""
        || 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.value == ""
        || document.forms[0].city_shipping.value == ""
        || document.forms[0].state_shipping.value == ""
        || document.forms[0].zip_shipping.value == "") {
        window.alert("You must enter your shipping information.");
        return false;
    }
    else if (document.forms[0].password.value == ""
        || docuemnt.forms[0].password_confirm.value == "") {
        window.alert("You must enter a password.");
        return false;
    }
    
//not working
var deliverySelected = false;
for (var i=0; i<8; ++i) {
    if (document.forms[0].delivery[i].checked == true) {
        deliverySelected = true;
        break;
    }
}

for (var j=0; j<2; ++j) {
    if (document.forms[0].sunday[j].checked == true) {
        deliverySelected = true;
        break;
    }
}

if (deliverySelected != true) {
    window.alert("You must select a delivery rate option.");
    return false;
}
//end not working

for (var k=0; k<document.forms[0].magazines.length; ++k) 
    document.forms[0].magazines.options[k].selected = true
}
    return true;
}

function confirmReset() {
    var resetForm = window.confirm("Are you sure you want to reset the form?");
    if (resetForm == true)
        return true;
    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="0">
<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>City, 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>Address<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="10"
maxlength="5" onchange="return checkForNumber(this.value);" /></p></td></tr>
</table>
<p>Telephone</p>
<p>(<input type="text" name="area" size="3" maxlength="3" />)
<input type="text" name="exchange" size="3" maxlength="3" />
<input type="text" name="phone" size="4" maxlength="4" /></p>
<p>Enter a password that you can use to manage your subscription online:</p>
<p><input type="password" name="password" size="50" /></p>
<p>Type the password again to confirm it.</p>
<p><input type="password" name="password_confirm" size="50"
onblur="confirmPassword();" /></p>
<h3>Delivery Rates</h3>
<table border="0">
<colgroup align="left" width="150" />
<colgroup span="4" align="center" width="130" />
<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="noDelivery();" />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 />
<input type="checkbox" name="newspapers"
value="bostonglobe" />Boston Globe<br />
<input type="checkbox" name="newspapers"
value="sfchronicle" />San Francisco Chronicle<br />
<input type="checkbox" name="newspapers"
value="miamiherald" />Miami Herald<br />
<input type="checkbox" name="newspapers"
value="other" />Other</p>
<p>Do you subscribe to any magazines?</p>
<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 magazine 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>

 

But for some reason function for validating the radio buttons (I have it marked s not working) aren't working. Can anyone help me figure out why? Also, upon submission, I have a page displaying the results, but the select list options are not showing up. Here is the formprocessor page:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Form Processor</title>
<meta http-equiv="content-type" content="text/html;
charset=iso-8859-1" />
<link rel="stylesheet" href="js_styles.css" type="text/css" />
</head>
<body>
<script type="text/javascript">
/* <![CDATA[ */
document.write("<h1>Your form has been submitted!</h1><h2>You entered the following data:</h2>");
var formData = location.search;
formData = formData.substring(1, formData.length);
while (formData.indexOf("+") != -1) {
    formData = formData.replace("+", " ");
}
formData = unescape(formData);
var formArray = formData.split("&");
for (var i=0; i < formArray.length; ++i) {
    document.writeln(formArray[i] + "<br />");
}
/* ]]> */
</script>
</body>
</html>

 

Can anyone tell me why the options we add to the select list aren't showing up upon submission?

Link to comment
https://forums.phpfreaks.com/topic/172064-can-anyone-help-with-validation-script/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.