补充一点,关键在取第一个控件的值 n1.value 或 n1[0].value  上有很大的变数

解决方案 »

  1.   

    当有控件 n1 添加一次,或多次时, 我如何 取得第一个值 n1控件的值啊?
    ---
    document.all("n1").value多个
    -----
    for(var i=0;i<document.all("n1").length;i++)
    {
      alert(document.all("n1")[i].value);
    }
      

  2.   

    var arr=document.getElementsByName("n1");
    alert(arr.length);//没有添加为0,n个为n
    var obj=arr[i].value;//取到第i+1 个的控件的value
      

  3.   

    lihui_shine(浪尖赏花) var arr=document.getElementsByName("n1");
    alert(arr.length);//没有添加为0,n个为n当 n1 是 select 下拉控件时 arr.length 取得不是控件的个数,而是下拉菜单的条数!tantaiyizu(痴情客) 谢谢你的回答,但是对我没有用,我已经说得很明白了,情况是变动的,我要在变动的情况下取道 第一个控件的值。
      

  4.   

    只有一个的时候
    ---
    if(!document.all("n1"))
    {
      alert(不存在n1控件);
    }
    else
    {
      alert(document.all("n1").value);
    }多个
    --------
    if(document.all("n1").length != undefined)
    {
      alert(document.all("n1")[0].value)
    }
      

  5.   

    如果想动态取控件ID的话可以这样
    var i=0;
    动态设定控件ID
    id='BtnDel"+(i)+"'
    i++
      

  6.   

    tantaiyizu(痴情客) 我如何判断他是 1个?还是多个啊?
    我说过了, n1.length 是判断不准的 因为 有 select 控件在作怪。charry0110() 我确实用了, ID自增,但是情况也是发生在 第一控件取值上, 当我的ID自增到一时,我不知是改用 n1.value 取值还是 n1[0].value 取值?谢谢,两位的热心回答,还请多费心,帮小弟想想!
      

  7.   

    to lz:
    在下测过才回的帖,IE通过:<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    </head>
    <body>
    <select name=n1>
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select>
    <input type=text name=n1 value="test">
    </body>
    <script language="javascript">
    var arr=document.getElementsByName("n1");
    alert("共"+arr.length+"个!");//没有添加为0,n个为n
    for(var i=0;i<arr.length;i++){
    alert("第"+(i+1)+"个:"+arr[i].tagName+".value===>"+arr[i].value);//取到第i+1 个的控件的value
    }
    </script>
    </html>
      

  8.   

    谢谢各位:我服了!这样吧! 
    我不那 <input type="text" name="n1"> 来举例; 就用<select name="n1" id="n1"></select>求求各位不要再告诉我用 n1.length , 当 n1 是 select 下拉控件时 arr.length 取得不是控件的个数,而是下拉菜单的条数!谢谢!
      

  9.   

    <html>
    <head><script language=javascript>function a() {
    var o=document.all.n1;
    alert("有 "+o.length+" 个select");
    for(var i=0;i<o.length;i++){
    alert("第 "+i+" 个select的值为 "+o[i].value);
    }
    }
    </script>
    </head>
    <body onload="a();">
    <select name=n1>
    <option value=1 selected>1</option>
    <option value=2 >2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select><select name=n1>
    <option value=1>1</option>
    <option value=2 selected>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select><select name=n1>
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3 selected>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select><select name=n1>
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4 selected>4</option>
    <option value=5>5</option>
    </select></body>
    </html>
      

  10.   

    <html>
    <head><script language=javascript>function a() {
    var o=document.getElementsByName("n1");
    alert("有 "+o.length+" 个element Name 是N1");

    for(var i=0;i<o.length;i++){
    alert("第 "+(i+1)+" 个element的值为 "+o[i].value);
    }
    }
    </script>
    </head>
    <body onload="a();">
    <select name=n1>
    <option value=1 selected>1</option>
    <option value=2 >2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select><select name=n1>
    <option value=1>1</option>
    <option value=2 selected>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select><select name=n1>
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3 selected>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select><select name=n1>
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4 selected>4</option>
    <option value=5>5</option>
    </select><input type=text name="n1" value="abc">
    </body>
    </html>
      

  11.   

    谢谢:joohnnie() 的回答, 可是还是没有解决问题,我说过了,问题就是在取 第一个控件的值的时候, 如果我知道他是多个控件的数组,我当然能够取出来,问题是我不知道控件数现在是就一个,还是一组;因为是页面动态添加的,当我页面只添加一个的时候,你上面的程序就取不准了。 还有除了能动态添加,还有动态删除, 我如果另外设个动态的int型参数值与控件的个数相同也不成: 如: var objNum = 0;  加个控件 objNum++;  减个控件 objNum--;
    当我由0加到1时不是数组用n1.value取值,但当我由2减到1时是数组用n1[0].value取值;
    总之太麻烦, 有没有直接能判断 控件是不是数组的函数或简单点的方法啊!谢谢各位大侠!
      

  12.   

    数组有个length属性,当他是一个时不是数组,所以只要判断.length==null就可以知道是否只有一个还是一组
      

  13.   

    if(formName.formElement.value != null)
    {
                //执行为一个的代码;
    }
    else
    {
        
       var length = formName.formElement.length;
       for (var i=0; i<length; i++)
       {
                  //用循环执行多个的代码
       }
    }楼主可以这样判断
      

  14.   

    谢谢各位的热心,真让我无言以对!
    我实在是懒得说了, 如果控件是 select 并且只有一个时 控件.length 取得值不是我想要的,
    算了,懒得说了,如果真心相帮忙,就请大侠们看看我上面对每一位回答的回复,再给出答案,其实问题我已解决,只是很费事,有点龌龊,想找个更简介的方法。如没人回答,明天就结贴!谢谢!各位!