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("説明[" + x + "]") はnullです

これを行う方法を知っている人はいますか?

ありがとう

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 に答える