最近、JavaScript フォームが機能しない理由について質問を投稿しました。3 つの問題のうちの 1 つは、チェック ボックスと数量でした。
chkquantity 正規表現を使用して各入力値をテストし、現在のコードでは、チェックボックスがオンになっているが数量が指定されていない場合、または数量が指定されているがチェックボックスがオンになっていない場合のみをチェックするため、ゼロ以上が注文されていることを確認する必要があります。したがって、これらのテストは、チェックボックスがチェックされておらず、すべての数量がゼロに設定されている提出を排除するものではありません。
次に、totqty がゼロ以下であることをさらにテストする必要があります。
正規表現 - var chkquantity = ^([1-9]?\d|[1-4]\d{2}|500)$/
テスト
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";
}
if (alertmsg != "")
{
alertmsg = "Please enter the following values \n" + alertmsg;
alert(alertmsg);
}
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";
}
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">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>