位置:海鸟网 > IT > JavaScript >

AJAX取得单选框值的方法

在制作AJAX提交处理投票内容中,有一个提取单选框的ID值的问题。经过研究,参考网络,终于取得成功。以下为Ajax代码片断:

//取得input元素
var e=document.getElementsByTagName("input"); 
//定义单选框初值,当没有选择任何一个选项时此值有效,用它来作为是否选择单选内容的标志
var Item_Id="";
for(var i=0;i<e.length;i++){
  //radio为单选框,name单选框名称,实用中根据实际情况作相应更改
  if(e[i].type=="radio"&&e[i].name=="item_id"&&e[i].checked)
  //当选择某一单选框时,取得此框的value值
  Item_Id=e[i].value;
}
//如果没有选择单选内容,则提示报错
if(Item_Id==""){
  alert("请选择投票选项!");
  return false;
}else{
  //以下为正常的执行代码,略
}



  以下为更佳的解决方案,经测试顺利通过:

var e=document.getElementsByName("item_id");
var Item_Id="";
for(var i=0;i<e.length;i++){ 
  if(e[i].checked) 
  Item_Id=e[i].value; 
}
if(Item_Id==""){
  alert("请选择投票选项!");
  return false;
}else{
  //以下为正常的执行代码,略
}



  通过代码可以看出,此代码是有针对性地只取name="item_id"的input元素,效率显示高效得多,而且不会出错。

  单个复选框效果采用以下代码处理:
 

var f=document.getElementsByName("isindex");
 var IsIndex="";
 for(var i=0;i<f.length;i++){ 
   if(f[i].checked) 
   IsIndex=f[i].value; 
 }



    多个复选框效果,估计是一种值的累加了,以下代码没测试过:

IsIndex=IsIndex+","+f[i].value;



    经测试,参数传递完全正确,只需要在ASP代码中对“,”这个分隔符稍加处理即可。