2017-01-25 22 views
1

私はASPページにデータの配列を送るフォームを持っています。
この配列を「マトリックス」といいます。ASPクラシック: "Request.Form()"に "変数"を入れよう

通常、フォームを受け取っているASPで、これを書き出して、配列 "matrix"からフォーム入力を取得します。

Request.Form("matrix[]")(i) where i = 1, 2, 3 which are the elements in the array. 

のは、私はこの

a="matrix" 

のような変数を作成したいと思うし、私はそれがなるように、この変数aを使用して、リクエストフォームに入れて、代わりに"matrix"を書くのにしたいとしましょうこのようなものを見てください

Request.Form(a[])(i) 

どのようにすることができますか?今のところ、私の試みはすべて空白になっています。例えばresponse.writeでページに表示させようとすると、何も表示されません。

できないかどうか教えてください。私はこれに時間を費やしています。

+1

'Request.Form()'は識別子として 'string'キーを受け取り、有効な文字列変数は' Request.Form(mystringvariable) 'に渡されます。私はあなたがしようとしていることに従うことに苦労しています。配列を渡す場合は、最初に 'Array(" matrix "、" something "、" else ")'を定義し、 'Request.Form()'のように、 0)) 'は' Request.Form( "matrix") 'と等価です。 – Lankymart

+0

@ Lankymartあなたの返信は、私がRequest.Formをより良く理解できるように助けてくれました。私はそれを試して、それは動作します! –

+1

ランキットマートのように、私はあなたがしようとしていることに困惑しています。角カッコで魔法のように物を配列にするという印象をどういうふうにしていますか? (それらはありません) – Martha

答えて

1

Request.Form("matrix[]")の文字列値は"matrix[]"で、文字列の配列は"matrix"ではありません。

ですから、角括弧を追加する必要がPHPと違いどちらか

a = "matrix[]" 
Request.Form(a)(i) 

または

a = "matrix" 
Request.Form(a & "[]")(i) 
+2

こんにちは仲間お返事とlankymartの@の両方が、私は私の問題を解決する助けました。説明をありがとう! –

+1

@ヨンタットあなたの解決策を回答として投稿して、問題を解決するために何をしたのかを知ることができますか?私はあなたが達成しようとしていることについてまだ不明です。 – Lankymart

2

を行う必要があり、従来のASPであなたはちょうどあなたがしたい要素に同じ名前を与えなければなりませんアレイに結合することができます。

HTMLは次のようになります。ユーザーが空にそれらを残していても、すべての要素が含まれていることを

For x=1 To Request.Form("matrix").Count 
    Response.Write("Value of matrix #" & CStr(x) & "is: " & Request.Form("matrix").Item(x)) 
Next 

注:

<input type="text" name="matrix" /> 
<input type="text" name="matrix" /> 
<input type="text" name="matrix" /> 

は、その後、あなたは、このような送信された値を反復処理することができます。