Javascript 复选框-选中至少一个复选框

Javascript 复选框-选中至少一个复选框,javascript,checkbox,Javascript,Checkbox,为了验证一个声明,我已经确保复选框和数量彼此一致,但我没有确保至少选择了一种产品,或者提供的总数量大于零。我该怎么做 if (((document.form1.summer.checked) && (summer2012 <= 0)) || ((document.form1.autumn.checked) && (autumn2012 <= 0)) || ((document.form1.winter.checked) &&am

为了验证一个声明,我已经确保复选框和数量彼此一致,但我没有确保至少选择了一种产品,或者提供的总数量大于零。我该怎么做

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

}
<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>
if(((document.form1.summer.checked)和&(summer2012 0)))
{
alertmsg=alertmsg+“请选择产品”+“\n”;
}
HTML:

<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>

2012年夏季
20
2012年秋季
20
2012年冬季
20

您似乎已经进行了一项测试,以确认对于任何复选框,必须有一个对应的(正)金额,并且第二项测试确认任何正金额也有一个对应的复选框

<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="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>
var f = document.form1;
if (f.summer.checked || f.autumn.checked || f.winter.checked) {
    // we're OK!
}

这是我检查是否选中任何复选框的方式:

<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>
var checkboxElements = [
    document.form1.ch1,
    document.form1.autumn,
    document.form1.winter,
    document.form1.summer
];

function anyChecked(checkboxElements) {
    for(var i = 0; i < checkboxElements.length; i++)
        if(checkboxElements[i].checked)
            return true;
    return false;
}
var checkbox元素=[
document.form1.ch1,
文件.form1.秋,
document.form1.winter,
document.form1.summer
];
函数anyChecked(checkbox元素){
对于(变量i=0;i
我们也可以看到html吗?我假设第一个
if
块应该检查
summer。选中了
而不是
ch1。选中了
?谢谢。我被告知,我的复选框和数量彼此一致,但它不能确保至少选择了一种产品,或者总数量大于零supplied@user2073133当然,所以这个附加测试确保至少选择了一个。您的原始测试(在此之前完成)将完成其余的测试。谢谢Alnitak。我已经为数量写了一个正则表达式,他们最多可以订购500个(夏季、秋季、冬季)。表达式是-var chkquantity=^([1-9]?\d|[1-4]\d{2}| 500)$/我不确定测试是否正确-如果((chkquantity.test(quantity)=false){alertmsg=alertmsg+”请将每个杂志的副本限制在500份或更少:“+”\n”}