判断多个checkbox没选中提示不能提交

snlixing 2016-06-14 02:24:32


<tr>
<td>
<input type="checkbox" name="RawMaterialFlag1" value="1" id="RawMaterialFlag1" />
外包装
<input type="checkbox" name="PackMaterialFlag1" value="1" id="PackMaterialFlag1" %>/>
自包装
</td>
</tr>

<tr>
<td>
<input type="checkbox" name="RawMaterialFlag2" value="1" id="RawMaterialFlag2" />
外包装
<input type="checkbox" name="PackMaterialFlag2" value="1" id="PackMaterialFlag2" %>/>
自包装
</td>
</tr>

怎么判断每行checkbox如果两个都没选中提示不能提交,也就是至少有一个选中才能提交
...全文
389 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2016-06-18
  • 打赏
  • 举报
回复
byclassname有兼容性问题,用bytagname就行了,自己遍历下样式是否一样
function validate() {
        var trs = document.getElementsByClassName('trck'), cbs,ok;
        for (var i = 0; i < trs.length; i++) {
            cbs = trs[i].getElementsByTagName('input');
            ok = false;
            for (var j = 0; j < cbs.length; j++) {
////////////////
                if (cbs[j].className=='zwck'&&cbs[j].checked) { ok = true; break;}
            }
            if (!ok) { alert('第' + (i + 1) + '行至少要选择一项包装'); return false }
        }
        return true;   
    }
snlixing 2016-06-17
  • 打赏
  • 举报
回复
我加了写class属性
snlixing 2016-06-17
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
[quote=引用 2 楼 snlixing 的回复:] [quote=引用 1 楼 showbo 的回复:]
<table><tr>
    <td>
        <input type="checkbox" name="RawMaterialFlag1" value="1" id="RawMaterialFlag1" />
        外包装
        <input type="checkbox" name="PackMaterialFlag1" value="1" id="PackMaterialFlag1" />
        自包装
    </td>
</tr>

<tr>
    <td>
        <input type="checkbox" name="RawMaterialFlag2" value="1" id="RawMaterialFlag2" />
        外包装
        <input type="checkbox" name="PackMaterialFlag2" value="1" id="PackMaterialFlag2"/>
        自包装
    </td>
</tr></table>
<input type="button" value="提交" onclick="validate()" />
<script type="text/javascript">
    function validate() {
        var trs = document.getElementsByTagName('tr'), cbs;
        for (var i = 0; i < trs.length; i++) {
            cbs = trs[i].getElementsByTagName('input');
            if (cbs.length == 2 && !cbs[0].checked && !cbs[1].checked) {
                alert('第' + (i + 1) + '行至少要选择一项'); return false
            }
        }
    }
</script>
不太合适,不只是这两个input[/quote]只是给个例子给你,多个for遍历下cbs不就行了。。
    function validate() {
        var trs = document.getElementsByTagName('tr'), cbs,ok;
        for (var i = 0; i < trs.length; i++) {
            cbs = trs[i].getElementsByTagName('input');
            ok = false;
            for (var j = 0; j < cbs.length; j++) {
                if (cbs[i].checked) { ok = true; break;}
            }
            if (!ok) { alert('第' + (i + 1) + '行至少要选择一项'); return false }
        }
    }
[/quote] 提示IE不支持getElementsByClassName呢
Go 旅城通票 2016-06-14
  • 打赏
  • 举报
回复
引用 2 楼 snlixing 的回复:
[quote=引用 1 楼 showbo 的回复:]
<table><tr>
    <td>
        <input type="checkbox" name="RawMaterialFlag1" value="1" id="RawMaterialFlag1" />
        外包装
        <input type="checkbox" name="PackMaterialFlag1" value="1" id="PackMaterialFlag1" />
        自包装
    </td>
</tr>

<tr>
    <td>
        <input type="checkbox" name="RawMaterialFlag2" value="1" id="RawMaterialFlag2" />
        外包装
        <input type="checkbox" name="PackMaterialFlag2" value="1" id="PackMaterialFlag2"/>
        自包装
    </td>
</tr></table>
<input type="button" value="提交" onclick="validate()" />
<script type="text/javascript">
    function validate() {
        var trs = document.getElementsByTagName('tr'), cbs;
        for (var i = 0; i < trs.length; i++) {
            cbs = trs[i].getElementsByTagName('input');
            if (cbs.length == 2 && !cbs[0].checked && !cbs[1].checked) {
                alert('第' + (i + 1) + '行至少要选择一项'); return false
            }
        }
    }
</script>
不太合适,不只是这两个input[/quote]只是给个例子给你,多个for遍历下cbs不就行了。。
    function validate() {
        var trs = document.getElementsByTagName('tr'), cbs,ok;
        for (var i = 0; i < trs.length; i++) {
            cbs = trs[i].getElementsByTagName('input');
            ok = false;
            for (var j = 0; j < cbs.length; j++) {
                if (cbs[i].checked) { ok = true; break;}
            }
            if (!ok) { alert('第' + (i + 1) + '行至少要选择一项'); return false }
        }
    }
snlixing 2016-06-14
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
<table><tr>
    <td>
        <input type="checkbox" name="RawMaterialFlag1" value="1" id="RawMaterialFlag1" />
        外包装
        <input type="checkbox" name="PackMaterialFlag1" value="1" id="PackMaterialFlag1" />
        自包装
    </td>
</tr>

<tr>
    <td>
        <input type="checkbox" name="RawMaterialFlag2" value="1" id="RawMaterialFlag2" />
        外包装
        <input type="checkbox" name="PackMaterialFlag2" value="1" id="PackMaterialFlag2"/>
        自包装
    </td>
</tr></table>
<input type="button" value="提交" onclick="validate()" />
<script type="text/javascript">
    function validate() {
        var trs = document.getElementsByTagName('tr'), cbs;
        for (var i = 0; i < trs.length; i++) {
            cbs = trs[i].getElementsByTagName('input');
            if (cbs.length == 2 && !cbs[0].checked && !cbs[1].checked) {
                alert('第' + (i + 1) + '行至少要选择一项'); return false
            }
        }
    }
</script>
不太合适,不只是这两个input
Go 旅城通票 2016-06-14
  • 打赏
  • 举报
回复
<table><tr>
    <td>
        <input type="checkbox" name="RawMaterialFlag1" value="1" id="RawMaterialFlag1" />
        外包装
        <input type="checkbox" name="PackMaterialFlag1" value="1" id="PackMaterialFlag1" />
        自包装
    </td>
</tr>

<tr>
    <td>
        <input type="checkbox" name="RawMaterialFlag2" value="1" id="RawMaterialFlag2" />
        外包装
        <input type="checkbox" name="PackMaterialFlag2" value="1" id="PackMaterialFlag2"/>
        自包装
    </td>
</tr></table>
<input type="button" value="提交" onclick="validate()" />
<script type="text/javascript">
    function validate() {
        var trs = document.getElementsByTagName('tr'), cbs;
        for (var i = 0; i < trs.length; i++) {
            cbs = trs[i].getElementsByTagName('input');
            if (cbs.length == 2 && !cbs[0].checked && !cbs[1].checked) {
                alert('第' + (i + 1) + '行至少要选择一项'); return false
            }
        }
    }
</script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧