多组单选框与复选框 验证

mglthunder 2009-11-30 04:11:18
大家好,碰到问题了,知道的朋友帮我写个简单而全面的 JS 验证。

如何才能 每组单选与复选 为选择状况呢? 比如下面情况》。。。


<table width="820" border="1">
<tr>
<td>1、11111</td>
</tr>
<tr>
<td><input type="radio" name="sex" value="男" />

<input type="radio" name="sex" value="女" />
女</td>
</tr>
<tr>
<td>2、22222</td>
</tr>
<tr>
<td><input type="radio" name="ping" value="很好" />
很好
<input type="radio" name="ping" value="很差" />
很差
<input type="radio" name="ping" value="其他" />
其他
<input name="txtname" type="text" id="txtname" /></td>
</tr>
<tr>
<td>3、33333</td>
</tr>
<tr>
<td><input type="checkbox" name="fen1" value="2分" />
2分
<input type="checkbox" name="fen2" value="5分" />
5分
<input type="checkbox" name="fen3" value="其他" />
其他
<input name="txtfen" type="text" id="txtfen" /></td>
</tr>
<tr>
<td>4、44444</td>
</tr>
<tr>
<td><input type="checkbox" name="seo1" value="百度" />
百度
<input type="checkbox" name="seo2" value="谷歌" />
谷歌
<input type="checkbox" name="seo3" value="其他" />
其他
<input name="txturl" type="text" id="txturl" /></td>
</tr>
<tr>
<td align="center"><input name="submit" type="button" value="确定" /> <input name="reset" type="reset" value="取消" /></td>
</tr>
</table>
...全文
150 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyi_fish 2009-12-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 poikill 的回复:]
<script type="text/javascript">
function checkRadio()
{
    var inputs = document.getElementsByTagName("input");
    var radios = [];
    for(var i=0,l=inputs.length;i <l;i++)
    {
        if(inputs[i].type=="radio" && inputs[i].name)
            radios.push(inputs[i]);
    }
    var hash= {};
    for(var i=0,l=radios.length;i <l;i++)
    {
      if(!hash[radios[i].name])
            hash[radios[i].name] = [radios[i]]
      else
            hash[radios[i].name].push(radios[i]);
    }
    for(var i in hash)
    {
        var iFlag = false;
        for(var j=0,l=hash[i].length;j <l;j++)
        {
            if(hash[i][j].checked)
            {
              iFlag = true;
              break;
            }
        }
        if(!iFlag)
        {
            alert("name为"+i+"的这组单选框还没有选!");
            return false;
        }
    }
    alert("congratulations,all pass!");
    return true;
}
</script>

这个是单选的多选同理
[/Quote]
可以啊
mglthunder 2009-12-01
  • 打赏
  • 举报
回复
补充问题: 验证每组必须选择,否则提示未选。
poikill 2009-11-30
  • 打赏
  • 举报
回复
<script type="text/javascript">
function checkRadio()
{
var inputs = document.getElementsByTagName("input");
var radios = [];
for(var i=0,l=inputs.length;i<l;i++)
{
if(inputs[i].type=="radio" && inputs[i].name)
radios.push(inputs[i]);
}
var hash= {};
for(var i=0,l=radios.length;i<l;i++)
{
if(!hash[radios[i].name])
hash[radios[i].name] = [radios[i]]
else
hash[radios[i].name].push(radios[i]);
}
for(var i in hash)
{
var iFlag = false;
for(var j=0,l=hash[i].length;j<l;j++)
{
if(hash[i][j].checked)
{
iFlag = true;
break;
}
}
if(!iFlag)
{
alert("name为"+i+"的这组单选框还没有选!");
return false;
}
}
alert("congratulations,all pass!");
return true;
}
</script>

这个是单选的多选同理
poikill 2009-11-30
  • 打赏
  • 举报
回复
楼主到底验证什么不解。。
likejun45 2009-11-30
  • 打赏
  • 举报
回复
使用了jQuery框架

function Check() {
if ($("input[name='sex'][checked]").length != 1) {
Retutn();
return;
}

if ($("input[name='ping'][checked]").length != 1) {
if ($("#txtname").val() == "") {
Retutn();
return;
}
}

if ($("input[name^='fen'][checked]").length == 0) {
if ($("#txtfen").val() == "") {
Retutn();
return;
}
}

if ($("input[name^='seo'][checked]").length == 0) {
if ($("#txturl").val() == "") {
Retutn();
return;
}
}
}

function Retutn() {
alert("还有漏选项");
}

87,994

社区成员

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

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