function delrole() {
if (confirm("确认删除?")) {
//alert(document.getElementsByName("roleName")[0].checked);
for ( var i = 0; i <= document.getElementsByName("roleName").length; i++) {
if (document.getElementsByName("roleName")[i].checked) {
document.getElementById("flag").value = document
.getElementsByName("roleName")[i].value;
//break;
}
}
document.getElementById("selrole").submit;
}
}js怎么总是获取不到值,请给解答下,谢谢!!
if (confirm("确认删除?")) {
//alert(document.getElementsByName("roleName")[0].checked);
for ( var i = 0; i <= document.getElementsByName("roleName").length; i++) {
if (document.getElementsByName("roleName")[i].checked) {
document.getElementById("flag").value = document
.getElementsByName("roleName")[i].value;
//break;
}
}
document.getElementById("selrole").submit;
}
}js怎么总是获取不到值,请给解答下,谢谢!!
改成
i < document.getElementsByName("roleName").length
试试
和<input type="button" value="删除角色" onclick="delrole()" />
就是这样啊,可是就是点删除无反应啊,什么个情况,请帮忙解决下
必须在input上有这个name属性roleName
下面是我做的例子,测试过是没问题的 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();
}
};
<s:form id="selrole" name="sel" theme="simple" method="post" action="role-delRole">
<input type="button" name="roleName" value="删除角色" onclick="delrole()" /> 没有找到出错的地方啊
<s:form id="selrole" name="sel" theme="simple" method="post" action="role-delRole">
<input type="radio" name="roleName" value="${rs.roleName}"checked="checked" />请帮忙看看,到底是哪里出了问题,谢谢啦
function delrole() {
if (confirm("确认删除?")) {
//alert(document.getElementsByName("roleName")[0].checked);
for ( var i = 0; i <= document.getElementsByName("roleName").length; i++) {
if (document.getElementsByName("roleName")[i].checked) {
document.getElementById("flag").value = document
.getElementsByName("roleName")[i].value;
//break;
}
}
document.getElementById("selrole").submit;
}
}
</script>
就是到if判断的哪里就不再执行了
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>角色查询</title>
<script type="text/javascript">
function delrole() {
if (confirm("确认删除?")) {
//alert(document.getElementsByName("roleName")[0].checked);
for ( var i = 0; i <= document.getElementsByName("roleName").length; i++) {
if (document.getElementsByName("roleName")[i].checked) {
document.getElementById("flag").value = document.getElementsByName("roleName")[i].value;
//document.getElementById("flag").value = document
// .getElementsByName("roleName")[i].value;
//break;
}
}
document.getElementById("selrole").submit();
}
}
</script>
</head>
<body>
<table>
<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>
<tr>
<td>序号</td>
<td>选项</td>
<td>角色名称</td>
<td>角色描述</td>
</tr>
<tr>
<td>1</td>
<td><input type="radio" name="roleName" value="role"
checked="checked" />
</td>
<td>role</td>
<td>role</td>
</tr>
<tr>
<td>2</td>
<td><input type="radio" name="roleName" value="eeee"
checked="checked" />
</td>
<td>eeee</td>
<td>eeee</td>
</tr>
<tr>
<td>3</td>
<td><input type="radio" name="roleName" value="ssss"
checked="checked" />
</td>
<td>ssss</td>
<td>sss</td>
</tr>
<tr>
<td>4</td>
<td><input type="radio" name="roleName" value="eeee"
checked="checked" />
</td>
<td>eeee</td>
<td>ee</td>
</tr>
<tr>
<td>5</td>
<td><input type="radio" name="roleName" value="dfsgdsgfds"
checked="checked" />
</td>
<td>dfsgdsgfds</td>
<td>dasfsafaf</td>
</tr>
<tr>
<td>6</td>
<td><input type="radio" name="roleName" value="dfsgdsgfds"
checked="checked" />
</td>
<td>dfsgdsgfds</td>
<td>dasfsafaf</td>
</tr>
<tr>
<td>7</td>
<td><input type="radio" name="roleName" value="fdsskiyujgtrdefrtgyuoiujyt"
checked="checked" />
</td>
<td>fdsskiyujgtrdefrtgyuoiujyt</td>
<td>reouijygtrfrghjukiokjyugt</td>
</tr>
<input type="hidden" name="flag" value="" id="flag"/>
</form>
</table>
</body>
</html>这是浏览器生成的,我也没有找出原因啊,帮帮忙
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