js如何验证动态html:radio是否全被选中

gddennis 2009-06-01 10:36:01
我使用Map-backed ActionForm在页面中动态生成一组radio,现在我想使用js验证radio是否全部选中,js应该怎么写啊?
jsp中:

<html:form action="/userInvest.do">
<logic:iterate id="question" collection="${invest.questions}" indexId="index">
${index+1}.${question.questionName}<br/>
<logic:iterate id="answer" collection="${question.answers}">
<html:radio property="value(${index})" value="${answer.answerId}">${answer.answerName}</html:radio>      
</logic:iterate>
<br/><br/>
</logic:iterate>
<html:submit value="提交"/>      
<html:reset><bean:message key="login.reset"/></html:reset>
</html:form>

...全文
504 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Landor2004 2009-06-02
  • 打赏
  • 举报
回复
原来你的每一个valuei还是一组radio呀

不好意思,没看清楚楼主说的内容,呵呵
gddennis 2009-06-02
  • 打赏
  • 举报
回复
经过一个晚上的查找,修改,终于起作用了。还是晚上效率比较高啊。

function check(){
var len = ${investSize};
for(i=0;i<len;i++){
var flag = false;
var radio= document.getElementsByName("value("+i+")");
for(j=0;j<radio.length;j++){
if(radio[j].checked==true) flag = true;
}
if(flag==false){
alert("请不要漏答题目!");
return false
}
}
return true
}
kimminho 2009-06-02
  • 打赏
  • 举报
回复
如果是radio有简单的方法:

<script language="JavaScript">
function check_radio(){
if(document.MAIN_FORM.answer.value == ""){
alert("no checked");
document.MAIN_FORM.answer.focus();
return;
}
}

</script>
<form name="MAIN_FORM">
<input type="hidden" name="answer" />
<input type="radio" name="answer_dis" value="a" onclick="document.MAIN_FORM.answer.value=this.value" />a
<input type="radio" name="answer_dis" value="b" onclick="document.MAIN_FORM.answer.value=this.value" />b
</form>
ychatou1220 2009-06-02
  • 打赏
  • 举报
回复
<script language="JavaScript">
function check_radio(){
var num = 0;
for(var i=0; i<document.formname.radioname.length; i++) {
if(document.formname.radioname[i].checked) num++;
}
if(num == document.formname.radioname.length) retrun true;
}

</script>
wqnljy 2009-06-01
  • 打赏
  • 举报
回复

<body>

<form name="form1" onsubmit="return se()">
<input type="radio" name="abc" />aaaa
<input type="radio" name="abc" />bbbb
<input type="submit" />
</form>
</body>
</html>
<script type="text/javascript">
function se()
{
var a=document.getElementsByName("abc");

var temp=0;
for(var i=0;i<a.length;i++)
{
if(a[i].checked ==true)
{
temp=1;
}
}
if(temp == 0 )
{
alert("请选择");
return false;
}

}
</script>
qq707472 2009-06-01
  • 打赏
  • 举报
回复
up
gddennis 2009-06-01
  • 打赏
  • 举报
回复
我现在页面的代码如下:

<html:form action="/userInvest.do" onsubmit="return check()">
<logic:iterate id="question" collection="${invest.questions}" indexId="index">
${index+1}.${question.questionName}<br/>
<c:if test="${question.questionType=='0'}">
<logic:iterate id="answer" collection="${question.answers}">
<html:radio property="value(${index})" value="${answer.answerId}">${answer.answerName}</html:radio>      
</logic:iterate>
<br/><br/>
</c:if>
<c:if test="${question.questionType=='1'}">
<logic:iterate id="answer" collection="${question.answers}">
<html:multibox property="value(${index})" value="${answer.answerId}">${answer.answerName}</html:multibox>      
</logic:iterate>
<br/><br/>
</c:if>
</logic:iterate>
<html:submit value="提交"/>      
<html:reset><bean:message key="login.reset"/></html:reset>
</html:form>

radio , multibox都是动态生成的。
我需要一个比较通用的判断是否有题目没有选
gddennis 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Landor2004 的回复:]
JScript code function check(){
var len=<%=length%>
for(i=0;i<len;i++){
var radio=eval("document.forms[0].value"+i);
if(radio.checked==false){
return false
}
}
return true
}
[/Quote]
我用ACTION将length传了过来,可是
var radio=eval("document.forms[0].value"+i);
这句好像没起作用
gddennis 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Landor2004 的回复:]
JScript code function check(){
var len=<%=length%>
for(i=0;i<len;i++){
var radio=eval("document.forms[0].value"+i);
if(radio.checked==false){
return false
}
}
return true
}
[/Quote]

var len=<%=length%>这个length是用前面的action传过来的吗?
Landor2004 2009-06-01
  • 打赏
  • 举报
回复
    function check(){
var len=<%=length%>
for(i=0;i<len;i++){
var radio=eval("document.forms[0].value"+i);
if(radio.checked==false){
return false
}
}
return true
}
Landor2004 2009-06-01
  • 打赏
  • 举报
回复
	var length = <%=length%>
function check(){
var len=10
for(i=0;i<len;i++){
var radio=eval("document.forms[0].value"+i);
if(radio.checked==false){
return false
}
}
return true
}
beijingpz 2009-06-01
  • 打赏
  • 举报
回复


var tmp=0;
var obj=document.getElementsByName("radioname");
if(obj==null){
return;
}
for(var i=0;i<obj.length;i++){
if (obj[i].checked){
tmp++;
}
}
if(tmp==obj.length){
alert('全部选中');
}


beijingpz 2009-06-01
  • 打赏
  • 举报
回复

var obj=document.getElementsByName("radioname");
if(obj==null){
return;
}
for(var i=0;i<obj.length;i++){
if (obj[i].checked){
dosomthing.....
}
}
gddennis 2009-06-01
  • 打赏
  • 举报
回复
有会的吗?请高手指导一下啊

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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