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;
展开
 我来答
yugi111
推荐于2017-09-27 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
第一: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
    }
}
cqh46
2013-09-30 · TA获得超过3292个赞
知道大有可为答主
回答量:2149
采纳率:100%
帮助的人:1275万
展开全部

你的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");
   }
 }
追问

这样写貌似还是不可以啊

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuyuanran
2013-09-30 · 超过32用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:84.9万
展开全部

你的循环貌似有问题,试试看,能不能解决你的问题

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 "";
  }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cuidonghai888
2013-09-30 · TA获得超过119个赞
知道答主
回答量:168
采纳率:0%
帮助的人:87.8万
展开全部
由于Name属性的不唯一性(ID唯一)导致getElementsByName返回的是一个数组
需要你传入该标签的下标,如果只有一个checkbox 用idx[0]试一下。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式