日期:2014-05-16 浏览次数:20383 次
var handle = function(){ var _r = document.getElementsByName('abc'); for(var i=0,len=_r.length;i<len;i++){ if(_r[i].checked){ alert(i+1); } } }, _s = document.getElementById('btn'); _s.onclick=function(){ if(confirm("are you sure?")){ handle(); } };
------解决方案--------------------
难道你后台没生成radio或者checkbox?
------解决方案--------------------
提交的方法
document.getElementById("selrole").submit();
不是
document.getElementById("selrole").submit;
另外,要 看你的浏览器中的源代码,最终生成的是什么样子
------解决方案--------------------
除了循环有点问题,其他都能执行啊。表单也提交了
<= 改成 <
------解决方案--------------------
改成
i < document.getElementsByName("roleName").length
是没有问题的,是没有提示错误的,。
另外,既然是单选,提交之后服务器只能得到一个值,没有必要再使用
<input type="hidden" name="flag" value="" id="flag"/>
传值了。
另外,最好标准化你的表单,
<table>
<tr>
table,tr之间是不能放其他的东西的。
把
<form id="selrole" name="sel" action="/mtest/test/role-delRole" method="post">
<div>
<h1>角色查询</h1>
<input type="button" value="删除角色" onclick="delrole()" /> <input
type="button" value="赋予用户" name="sss" onclick="" />
</div>
移到表格外面去,
<input type="hidden" name="flag" value="" id="flag"/>
</form>
也是一样,
有些浏览器会对这些不合规定的内容进行删除的,。
参见
这个文章的总结
http://blog.csdn.net/net_lover/article/details/7162136
------解决方案--------------------