Javascript For Loop On Input字段数组与document.getElementById一起发出

时间:2010-08-19 01:21:07

标签: javascript arrays getelementbyid

我有一个服务器端脚本为我创建了大量的文本字段。当我希望用户填写它们并提交数据时。我知道有多少字段,因为服务器也会发送一个计数。

然后我尝试将它们连接成一个带有间隔符的长字符串。但是我无法获得数组的值。

使用代码更好地解释。

这有效

        <script>
function Submit() {
    var spacer = ":";
    var mycount = document.getElementById('counter').value;
    var usertext = '';
    var x=0;
    for(x = 0; x **<= 2**; x++){
        usertext = usertext + document.getElementById('description[' + x + ']').value + spacer ;
    }
</script>

这不起作用。

    <script>
function Submit() {
    var spacer = ":";
    var mycount = document.getElementById('counter').value;
    var usertext = '';
    var x=0;
    for(x = 0; x **<= mycount**; x++){
        usertext = usertext + document.getElementById('description[' + x + ']').value + spacer ;
    }
</script>

这是我的身体

    <textarea   id='counter' name='counter'>2</textarea>
<textarea   id='description[0]' name=''description'>zero</textarea>
<textarea   id='description[1]' name=''description'>one</textarea>
<textarea   id='description[2]' name=''description'>two</textarea>
<button type="button" onclick="Submit()" >Save</button>

这是Firebug给我的错误:

  

的document.getElementById( “描述[”   + x +“]”)为空

有没有人知道这样做的方法?

感谢

2 个答案:

答案 0 :(得分:1)

尽管您的HTML无效(例如不平衡报价),但我works fine。更好的问题是这个目的是什么。为什么不按原样提交表格?

答案 1 :(得分:1)

在将mycount应用于for循环之前,请使用mycount取整数值parseInt

var mycount = document.getElementById('counter').value;
mycount = parseInt(mycount);