jsp 客户端脚本的方法选择
getElementById 和getElementByname有什么区别 我的实际jsp页面很多是没有id的 
<input type="text"  name="userName" value="the return data is null."/> 
是没有id的 ,
问如何选择这2个方法  (getElementByname的结果不一定对)另外还有很多的
 <input type="radio" name="radiobutton1" value="UserName" />    
 <input type="radio" name="radiobutton2" value="UserName" />    
 <input type="radio" name="radiobutton3" value="UserName" />    
 <input type="radio" name="radiobutton4" value="UserName" />     <input type="radio" name="radiobutton1" value="familyName" />    
 <input type="radio" name="radiobutton2" value="familyName" />    
 <input type="radio" name="radiobutton3" value="familyName" />    
 <input type="radio" name="radiobutton4" value="familyName" />    
 <input type="radio" name="radiobutton1" value="givenName" />    
 <input type="radio" name="radiobutton2" value="givenName" />    
 <input type="radio" name="radiobutton3" value="givenName" />    
 <input type="radio" name="radiobutton4" value="givenName" />    这个肯定是选择getElementByname了 ,那么具体如何写?

解决方案 »

  1.   

    可以加个id 比如<input id="user" type="text"  name="userName" value="the return data is null."/>
    就可以用getElementById了
      

  2.   

    getElementByname("radiobutton1")这样写
    但是你这里可能不好,因为你的name很多是相同的,这样就会把所有名字相同的给取出来,比如getElementByname("radiobutton1"),那么你就取出了3个值
    所以最好设个id,因为id是唯一的,这样的话通过getElementById就能取到你想要的值。
      

  3.   

    getElementsByName()  有S的。我晕倒  单选框的name必须一致~ 你想问题的点都错了。。      去看下 如何写单选框吧。
      

  4.   

    最好用getElementById
    可以改成
    <input id="userid" type="text"  name="userName" value="the return data is null."/> 
      

  5.   

    先得到 input 外层的那个 form,然后可以这样用:form.<元素的name>
      

  6.   

    谢谢
    抱歉  这个问题跟之前有不同 更具体了
    加了
    <input type="radio" name="radiobutton1" value="givenName" />    
    <input type="radio" name="radiobutton2" value="givenName" />    
    <input type="radio" name="radiobutton3" value="givenName" />    
    <input type="radio" name="radiobutton4" value="givenName" />
     
    getElementByname("radiobutton1")--每次取3个
    请问如何写这个脚本
    也就是取出,首先判断是否全空?
    如果非空,把值取出来  (我也在写)
      

  7.   

    name要一致,  用getElementsByName(""),然后循环判断
      

  8.   

    getElementsByname再次强调,有S的。。
      

  9.   

    for(i=0;i<4;i++)
        {
         if(document.getElementsByName("radiobutton1")[i].checked=true)
            info="userName";       }不能通过
      

  10.   

    js获取单选按钮(radio)组的值和修改选中项<input name="radio1" type="radio" value="1">
    <input name="radio1" type="radio" value="2">
    <input type="button" onClick="checks()">JScript code
        function checks()
        {
            var radios=document.getElementsByName("radio1");
            for(var i=0;i<radios.length;i++)
            {
                if(radios[i].checked==true)
                {
                    alert(radios[i].value);
                }
            }
        }获取单选按钮(radio)组的值和修改选中项
    看到很多帖子里说js获取单选按钮(radio)组的值可以直接用document.getElementById("oper").value,虽然跟单选按钮组一样的下拉列表(也是列表项的数组)也是一个数组,用这种方式可以获到下拉列表的值,但是单选按钮组却获不到所选的值。仔细研究了下,总结如下:与下拉列表不同,单选按钮须用this.form.oper或者document.getElementsByName('oper')方式获取该数组对象,document.getElementById('oper')不能获取该数组对象(select可以)。而且要获取值须通过一循环判断获取,不能直接用.value(select可以)。而要改变单选按钮组的选中项,也须用循环判断改变各个单选按钮的value。测试代码radio.html 如下:=============================================================================<html><head></head><script language="javascript">//求单选按纽的值,适用单选项及多选项。未选返回false;有选择项,返回选项值。function getRadio(oRadio){var oRadioLength= oRadio.length;var oRadioValue = false;//alert("oRadioLength:["+oRadioLength+"]");if (oRadioLength== undefined){      if (oRadio.checked){       oRadioValue = oRadio.value;      }}else{      for (i=0;i<oRadioLength;i++){       //alert("oRadio["+i+"]:"+oRadio[i].checked+"/"+oRadio[i].value);       if (oRadio[i].checked){        oRadioValue = oRadio[i].value;        break;       }      }}return oRadioValue;}//方法改进://求单选按纽的值,传radio名字作为参数。未选返回false;有选择项,返回选项值。function getRadioValue(name){var radioes = document.getElementsByName(name);for(var i=0;i<radioes.length;i++){     if(radioes[i].checked){      return radioes[i].value;     }}return false;}//通过值修改所选中的单选按钮function changeRadio(oRadio,oRadioValue){        //传入一个对象for(var i=0;i<oRadio.length;i++) //循环{        if(oRadio[i].value==oRadioValue) //比较值        {         oRadio[i].checked=true; //修改选中状态         break; //停止循环        }}}//改进://通过值修改所选中的单选按钮function setRadio(name,sRadioValue){        //传入radio的name和选中项的值var oRadio = document.getElementsByName(name);for(var i=0;i<oRadio.length;i++) //循环{        if(oRadio[i].value==sRadioValue) //比较值        {         oRadio[i].checked=true; //修改选中状态         break; //停止循环        }}}</script><body><form name="frm"><input type="radio" name="oper" value="agree"        >同意</td><input type="radio" name="oper" value="downchange" checked>下发修改</td><input type="radio" name="oper" value="refuse">拒保</td><input type="radio" name="oper" value="report" >上报 </td><br>alert('result:'+getRadio(this.form.oper))<input type="button" name="test1" value="按钮1" onclick="alert('result:'+getRadio(this.form.oper));">      <br>alert('result:'+getRadio(document.getElementById('oper')))<input type="button" name="test2" value="按钮2" onclick="alert('result:'+getRadio(document.getElementById('oper')));"><br>alert(this.form.oper.value)<input type="button" name="test3" value="按钮3" onclick="alert(this.form.oper.value);"><br>changeRadio(this.form.oper,"上报")<input type="button" name="test4" value="按钮4" onclick="changeRadio(this.form.oper,'report');"><br><br><br><br>   <select id="slt"><option value="agree" >同意</option><option        value="downchange" selected>下发修改</option><option value="refuse">拒保</option><option        value="report">上报</option></select><br>alert(this.form.slt.value)<input type="button" name="test5" value="按钮5" onclick="alert(this.form.slt.value);"><br>document.getElementById('slt')[2].innerText)<input type="button" name="test6" value="按钮6" onclick="alert(document.getElementById('slt')[2].innerText);"></form></body>
    以通过事件的触发者this,判断点击哪一个对象。参考如下代码:HTML code    <input type="radio" name="attr" value="1" id="attr1"> <label for="attr1">RMB </label> <br /> <input type="radio" name="attr" value="2" id="attr2"> <label for="attr2">MY </label> <br /> <input type="radio" name="attr" value="3" id="attr3"> <label for="attr3">YB </label> <script type="text/javascript"> function aa() { var radio = document.getElementsByName("attr"); for (var i = 0; i < radio.length; i++){ radio[i].onclick = function() { bb(this.value); } } } function bb(i) { alert(i); } aa(); </script>
      

  11.   

    function doScore(){
      //  alert("dd");
        var inputvalue=document.getElementById("a").value;
        if(inputvalue)
        alert(inputvalue);
        else
        alert("ok");
        
        //var radio1=document.getElementsByName("radiobutton1");
        var info1="";
        var info2="";
        var info3="";
        var info4="";
         var radios=document.getElementsByName("radiobutton1"); 
         info1=fc(radios);
           
        if(info1!="")
        alert(info1);
        
        window.location="1.jsp?userName="+inputvalue;
        form1.submit(); 
      }   
      
      function fc(radios)
      { 
      alert("dd");
       var info="";
       for(var i=0;i <radios.length;i++) 
            { 
                if(radios[i].checked==true) 
                { 
                    info=radios[i].value; 
                } 
            } 
      return info;
      }
      
      
    </script>