导航
  • 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ
  • 问答

javascript 判断动态个数的单选框问题。。在线等。。。

暴走的车轮 2007-05-10 11:58:32
<td width="200" height="25">治学严谨,教风端正</td>
<td align="left"><input type="radio" name="Items1" value="1|"></td>
<td align="left"><input type="radio" name="Items1" value="2|"></td>
<td align="left"><input type="radio" name="Items1" value="3|"></td>
<td width="200" height="25">思路清晰,内容充实</td>
<td align="left"><input type="radio" name="Items2" value="1|"></td>
<td align="left"><input type="radio" name="Items2" value="2|"></td>
<td align="left"><input type="radio" name="Items2" value="3|"></td>

下面还有 动态个数的 选项 就是Items3 Items4.....

这个在前台验证怎样验证是否全部选中啊??全部项目选则提交否则返回false


...全文
345 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihe123456789 2010-10-09
那如果有其他的组件呢!
必须说是checkbox\textarea……
那该怎样判断是否选择或填写内容了
各位大侠,贴出类似的实现代码
谢谢!!!!
回复
yuanzhihua520 2007-06-04
up
回复
暴走的车轮 2007-05-11
调试成功了。。。晕。。貌似要定义一下actual = 0 才可以。。

结帖了,谢谢大家
回复
暴走的车轮 2007-05-11
smile9961(good life) 我怎用你的方法调试总是得不到验证啊~? 你的方法思路倒是挺清楚明白的,能不能帮帮调试了再贴上代码来啊?
回复
暴走的车轮 2007-05-11
呵呵,楼上的,我的单选按扭是程序生成的,我只是把前台客户端HTML代码贴出来而已。。。
我生成的单选按钮类似 Items1,Items1,Items1 Items2,Items2,Items2 。。。。。。
回复
suhongwei 2007-05-10
Items1 Items2 .....?

楼主搞错了没有.

这段代码能够产生一组单选按钮吗?
回复
belldandy11 2007-05-10
UP
回复
smile9961 2007-05-10
//得到已选择的radio个数
for(var i=0;i<inputs.length;i++)
{
var obj = inputs[i];

if(obj.type=="radio")
{
if(obj.checked)
{
actual = actual + 1;
}
}
}
回复
seedling_lq 2007-05-10
function CheckForm1()
{
var num = N+1;
for(var j=1;j<num;j++)
{
var item = document.getElementsByName("Items"+j);
var is_check = false;
for(var i=0;i<item.length;i++)
{
if(item[i].checked==true)
{
is_check = true;
}
}
if(!is_check){return false;}
}
retrun true;
}
回复
暴走的车轮 2007-05-10
我晕楼上看清楚没?
回复
heyidan 2007-05-10
把那些个checkbox的名字都起成一样的。然后用for循环就可以了。
for(var i=0;i<checkbox.length;i++)
{
if(checkbox[i].checked==true)
continue;
else
break;
}
if(i>=checkbox.length)
return true;
else
return false;
回复
暴走的车轮 2007-05-10
楼上的太复杂了吧?

全部的项数我得到了。。比如说就是N吧 。。。。然后就是验证Items1 --ItemsN 是否全都选上的问题,用循环就可以了吧?
只是我javascript 巨菜 。。。return false 和 return true 放哪个位置合适不知道,总是调试不对。。。。

<form name="form1" method="post" action="" onsubmit="return CheckForm1()">

大家帮我把这个 CheckForm1给写出来啊。。。。总共的项数就用N表示,就是写个循环验证一下的问题。。。
回复
smile9961 2007-05-10
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Page</title>

<script language="javascript" type="text/javascript">
<!--

function check()
{

//所有input集合
var inputs = document.getElementById("dv").getElementsByTagName("input");

//前一个radio的name,当前radio的name
var preName, currName;

//不同的radio的个数,有选择的radio的个数
var all, actual

//有选择的radio的个数默认为0
actual=0;

for(var i=0;i<inputs.length;i++)
{
var obj = inputs[i];

if(obj.type=="radio")
{
if(i == 0)
{
preName = obj.name;

all=1;
}

currName = obj.name;

if(currName != preName)
{
preName = currName;
all = all + 1;
}

if(obj.checked)
{
actual = actual + 1;
}
}
}

if(actual == all)
{
return true;
}
else
{
return false;
}
}

function btn_click()
{
if(check())
{
alert('pass');
}
}

// -->
</script>

</head>
<body>
<div id="dv">
<table>
<tr>
<td width="200" height="25">
治学严谨,教风端正</td>
<td align="left">
<input type="radio" name="Items1" value="1|"></td>
<td align="left">
<input type="radio" name="Items1" value="2|"></td>
<td align="left">
<input type="radio" name="Items1" value="3|"></td>
<td width="200" height="25">
思路清晰,内容充实</td>
<td align="left">
<input type="radio" name="Items2" value="1|"></td>
<td align="left">
<input type="radio" name="Items2" value="2|"></td>
<td align="left">
<input type="radio" name="Items2" value="3|"></td>
</tr>
</table>
</div>
<hr />
<input type="button" value="submit" id="Button1" onclick="btn_click();" />
</body>
</html>
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告