js获取checkbox,传到后台,每次都有一个undefined,如何在js里面去掉他
js代码:varids=document.getElementsByName("ids").value;form1.action="UserLogs!addRole.ac...
js代码:var ids = document.getElementsByName("ids").value;
form1.action ="UserLogs!addRole.action?ids="+ids; 展开
form1.action ="UserLogs!addRole.action?ids="+ids; 展开
4个回答
展开全部
第一:document.getElementsByName 返回的是一个数组,没有直接取值的,所以你错了!
第二:你可以使用typeof a == 'undefined' 或者 null == a来判断
第三:具体代码如下:
var arr_ids = document.getElementsByName("ids");
for(var i in arr_ids){
if('undefined' != typeof document.getElementsByName("ids")[i]){
// TODO
}
// 或者
if(null != document.getElementsByName("ids")[i]){
// TODO
}
}
展开全部
你的checkbox 是多选吗?如果是的话就获取选中的
function getSelected()
{
var flag = false;
var inputs = document.getElementsByTagName('input');
for(var i=0;i<inputs.length;i++){
var obj = inputs[i];
if(obj.type=='checkbox'){
if(obj.checked==true){
flag = true;
alert(obj.value);
}
}
}
if(!flag)//无选中项
{
alert("nothing");
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的循环貌似有问题,试试看,能不能解决你的问题
function aaa(){
var checkObj = document.getElementsByName("ids");
if(checkObj){
var ids = new Array();
var j = 0;
for(var i = 0; i < checkObj.length; i++){
if(checkObj[i].checked){
ids[j] = checkObj[i].value;
j++;
}
alert(ids);
}
return ids;
}
return "";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
由于Name属性的不唯一性(ID唯一)导致getElementsByName返回的是一个数组
需要你传入该标签的下标,如果只有一个checkbox 用idx[0]试一下。。
需要你传入该标签的下标,如果只有一个checkbox 用idx[0]试一下。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询