1

おそらくばかげている質問がありましたが、うまくいきません...

次のような入力を含むフォームを送信しています。

<input type="hidden" id="hidden0" name="Options2" value="0" />
<input type="hidden" id="hidden1" name="Options2" value="30" />
<input type="hidden" id="hidden2" name="Options2" value="4" />
<input type="hidden" id="hidden3" name="Options2" value="-1" />
<input type="hidden" id="hidden4" name="Options2" value="-1" />
<input type="hidden" id="hidden5" name="Options2" value="-1" />
<input type="hidden" id="hidden6" name="Options2" value="-1" />
<input type="hidden" id="hidden7" name="Options2" value="-1" />

これらの 8 つの入力は動的に作成されることに注意してください。送信をクリックすると、name="Options" で動的に作成されたすべての入力を取得し、値をいくつかの一般的な入力に入れます。

var inputs = document.getElementsByName("Options"+cpt);
for( var g = 0; g < 8; g++ )
{
    document.all.Options[g].value = inputs[g].value;
}

フォームを受け取ると、次の行が表示されました。

var arrayOption = Request.Form("Options");

Response.Write(arrayOption) の場合、0、30、4、-1 などの結果が表示されます。次のようなループ内のすべての値を取得しようとしています。

for (var k = 0; k < arrayOption.count; k++) {
    Response.Write(arrayOption[k]);
}

この場合、arrayOption[k] は定義されておらず、その理由はわかりません。arrayOption.length が機能していないことにも気付きました (これが .count を使用した理由です)。arrayOption は真の配列ではないように見えるので、分割しようとしましたが、Object はこのプロパティまたはメソッドをサポートしていません。このすべての何が問題なのですか?

4

1 に答える 1

3

それはASP Classic + Server side JScript のように見えるEnumerator()ので、コレクションをウォークする必要があります。

for (var e = new Enumerator(Request.Form); !e.atEnd(); e.moveNext())
     Response.Write(e.item() + "=" + Request.Form(e.item()) + "<br>");

すべての投稿データを列挙します

于 2012-09-05T14:47:34.967 に答える