I have tried to create a javascript form and I can't get it to work. The errors coming up are
- Postcode should be in letters and numbers:
- Address should be alphanumeric:
Please limit each magazine to 500 copies or less
function display() { var totprice; var fname, lname, fullname, addr, postocde, email, telephone, lstitem, quantity, gender; var prditem1, prditem2, prditem3, summer2012, autumn2012, winter2012, totqty; var orddate; fname = document.form1.fname.value; lname = document.form1.lname.value; //fullname = fname + " " + lname; gender = document.form1.gender.value; addr = document.form1.address.value; postcode = document.form1.address.value; email = document.form1.email.value; telephone = document.form1.telephone.value; prditem1 = document.form1.summer.value; prditem2 = document.form1.autumn.value; prditem3 = document.form1.winter.value; summer2012 = parseInt(document.form1.summer2012.value); autumn2012 = parseInt(document.form1.autumn2012.value); winter2012 = parseInt(document.form1.winter2012.value); totqty = summer2012 + autumn2012 + winter2012; orddate = new Date(); dispdate = orddate.getMonth() + 1 + "-" + orddate.getDate() + "-" + orddate.getYear(); var alertmsg = ''; var alphabetic = /^[a-zàâçéèêëîïôûùüÿñ-]*$/i var alphanumeric = /^[a-zA-Z0-9/./,/-/\n]+$/; var addrtxt = addr.replace(/(\x0a\x0d|\x0d\x0a)/g, "\n"); var chkpostcode = /^((GIR 0AA)|((([A-PR-UWYZ][A-HK-Y]?[0-9][0-9]?)|(([A-PR-UWYZ][0-9] [A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRV-Y]))) [0-9][ABD-HJLNP-UW-Z]{2}))$/ var chktelephone = /^0\d{9,10}$/ var chkEmail = /^.+@.+..+$/ var chkquantity = /^([1-9]?\d|[1-4]\d{2}|500)$/ if (chkEmail.test(email) == false) { alertmsg = alertmsg + "Please enter a valid email." + "\n"; } if ((alphabetic.test(fname) == false) || (alphabetic.test(lname) == false)) { alertmsg = alertmsg + "Name should be in alphabets:" + "\n"; } if (chktelephone.test(telephone) == false) { alertmsg = alertmsg + "Telephone should be in digits:" + "\n"; } if (chkpostcode.test(postcode) == false) { alertmsg = alertmsg + "Postcode should be in letters and numbers:" + "\n"; } if (alphanumeric.test(addrtxt) == false) { alertmsg = alertmsg + "Address should be alphanumeric:" + "\n"; } var gender = document.form1.gender[0].checked; var gender1 = document.form1.gender[1].checked; if (!gender && !gender1) { alertmsg = alertmsg + "please select your gender\n" } if (((document.form1.summer.checked) && (summer2012 <= 0)) || ((document.form1.autumn.checked) && (autumn2012 <= 0)) || ((document.form1.winter.checked) && (winter2012 <= 0))) { alertmsg = alertmsg + "Please enter Quantity" + "\n"; } else if (((!document.form1.summer.checked) && (summer2012 > 0)) || ((!document.form1.autumn.checked) && (autumn2012 > 0)) || ((!document.form1.winter.checked) && (winter2012 > 0))) { alertmsg = alertmsg + "Please choose Product" + "\n"; } var f = document.form1; if (!f.summer.checked && !f.autumn.checked && !f.winter.checked) { alertmsg = alertmsg + "Please choose at least one edition of the magazine" + "\n"; } if (chkquantity.test(quantity) <= 500) { alertmsg = alertmsg + "Please limit each magazine to 500 copies or less:" + "\n"; } if (alertmsg != "") { alertmsg = "Please enter the following values \n" + alertmsg; alert(alertmsg); } else { fullname = formatName(fname, lname); totprice = totalprice(); } //alert("Thanks for submitting the details"); function totalprice() { var totprice = 0; var price = new Array(); price[0] = 20.00; price[1] = 20.00; price[2] = 20.00; var quantity = new Array(); quantity[0] = parseInt(document.form1.summer2012.value); quantity[1] = parseInt(document.form1.autumn2012.value); quantity[2] = parseInt(document.form1.winter2012.value); for (i = 0; i < 3; i++) { totprice = totprice + quantity[i] * price[i]; } return (totprice); } }
Can anyone suggest what I've done wrong? any help would really be appreciated. thanks
here is the html -
<form name="form1" method="post">
<fieldset id="fieldset">
<legend id="legend">Order the latest Saraysounds Magazine</legend>
<table width="500" border=0 align="left" cellpadding="4" cellspacing="4">
<tr>
<td colspan="2"><div align="left">First
Name</div></td>
<td colspan="2"><input type="text" name="fname"/>
</td>
</tr>
<tr>
<td colspan="2"><div align="left">Second
Name</div></td>
<td colspan="2">
<input type="text" name="lname"/>
</td>
</tr>
<tr>
<td colspan="2"><div align="left">Gender</div></td>
<td colspan="2">
<input type="radio" name="gender" value="M"/>
Male
<input type="radio" name="gender" value="F"/>
Female </td>
</tr>
<tr>
<td colspan="2"><div align="left">Address</div></td>
<td colspan="2"><textarea name="address" cols="30" rows=5 col=40 wrap=soft> </textarea>
</td>
</tr>
<tr>
<td colspan="2"><div align="left">Postcode</div></td>
<td colspan="2"> <input type="text" name="postcode"/>
</td>
</tr>
<tr>
<td colspan="2"><div align="left">Email</div></td>
<td colspan="2">
<input type="text" name="email"/>
</td>
</tr>
<tr>
<td colspan="2"><div align="left">Telephone</div></td>
<td colspan="2">
<input type="text" name="telephone"/>
</td>
</tr>
<tr>
<td colspan="4"><center>
<strong>Select
Magazine</strong>
</center></td>
</tr>
<tr>
<td width="123"><center>
<strong>Product Name</strong>
</center></td>
<td width="30" ><center>
<strong></strong>
</center></td>
<td ><center>
<strong>Price</strong>
</center></td>
<td>
<strong>Quantity</strong>
</td>
</tr>
<tr>
<td align="right">Summer 2012
</td>
<td>
<input type="checkbox" name="summer" value="Summer 2012"/>
</td>
<td align="center" width="69"><div align="right">20.00 </div></td>
<td width="216"><input name="summer2012" type="text" size="5" value="0"/></td>
</tr>
<tr>
<td align="right">Autumn 2012
</td>
<td>
<input type="checkbox" name="autumn" value="Autumn 2012"/>
</td>
<td align="center" width="69"><div align="right">20.00 </div></td>
<td><input name="autumn2012" type="text" size="5" value="0"/></td>
</tr>
<tr>
<td align="right">Winter 2012
</td>
<td>
<input type="checkbox" name="winter" value="Winter 2012"/>
</td>
<td align="center" width="69"><div align="right">20.00</div></td>
<td><input name="winter2012" type="text" size="5" value="0"/></td>
</tr>
<tr>
<td align="center" colspan="4"><input name="button" type="button" onClick="javascript:display()" value="Submit"/>
<input type="reset" value="Clear Form"/>
</td>
</tr>
</table>
</fieldset>
</form>