0

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

然后我试图将它们连接成一个长字符串,中间有一个垫片。但是我无法获取数组的值。

用代码更好地解释。

这有效

        <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("description[" + x + "]") 为空

有谁知道这样做的方法?

谢谢

4

2 回答 2

1

尽管您的 HTML 无效(例如不平衡的引号),但它对我来说效果很好。更好的问题是这样做的目的是什么。为什么不按原样提交表单?

于 2010-08-19T01:33:35.697 回答
1

在应用于for 循环之前,取withmycount的整数值:mycountparseInt

var mycount = document.getElementById('counter').value;
mycount = parseInt(mycount);
于 2012-06-14T09:04:32.567 回答