Form

(PWS4 IIS4 IIS5)
Form – POST メソッドを使用してフォームから HTTP 要求本体にポストされた、フォーム要素の値を取得します。

Request.Form( element )[( index )|.Count]
element:コレクションが値を取得するフォーム要素の名前です。
index:パラメータの複数の値のうちの 1 つにアクセスできるようにするための省略可能なパラメータです。1 ~ Request.Form( parameter ).Count までの整数値を指定できます。

説明

Form コレクションは、要求本体のパラメータ名別にインデックスが付けられます。Request.Form( element ) の値は、要求本体に出現するすべての element の値の配列になります。パラメータの値の数は、Request.Form( element ).Count を呼び出して調べることができます。パラメータに関連付けられている値が複数でない場合は、個数は 1 になります。パラメータが見つからない場合は、個数は 0 になります。
複数の値を持つフォーム要素のある値を参照するには、値を index で指定する必要があります。パラメータ index には 1 ~ Request.Form( element ).Count までの値を指定できます。index の値を指定せずに複数のフォーム パラメータの 1 つを参照した場合、データはカンマで区切られた文字列として返されます。
Request.Form でパラメータを使用すると、Web サーバーはその HTTP 要求本体を解析して、指定されたデータを返します。未解析のフォーム データがアプリケーションで必要な場合は、パラメータを指定せずに Request.Form を呼び出すことで取得できます。
注 ASP を使用し、100 KB を超えるデータのポストを行う場合、Request.Form は使用できません。100 KB を超えるデータのポストをアプリケーションが必要とする場合、Request.BinaryRead メソッドを使用してコンポーネントを記述することができます。
ループを使用することで、フォーム要求内のすべてのデータ値を取得できます。たとえば、ユーザーが要素 FavoriteFlavor に対して Chocolate および Butterscotch という 2 つの値を指定してフォームに入力した場合、次のようなスクリプトを使用してこれらの値を取得できます。

1
2
3
4
5
<%
  For i = 1 To Request.Form("FavoriteFlavor").Count
    Response.Write Request.Form("FavoriteFlavor")(i) & "<br />"
  Next
%>

※ フォームに同じ名前を持つオブジェクト (HTML SELECT タグなど) が複数含まれている場合、Form コレクションの項目は、選択された値すべてがカンマで区切られている一覧になります。

QueryStringコレクション も参照ください。