14-3 �ǰe������

Request.Form ©M Request.QueryString ³£¬O¥Î¨Ó¦s©ñ¥Î¤áºÝ¦bªí³æ¶ñ¤Jªº¸ê°T¡C­Yªí³æªº¶Ç¿é¤è¦¡¬O post¡A«h§Ú­Ì¥i¦b ASP µ{¦¡½X¤º¥H¤U¦C¤è¦¡Åª¥Xªí³æªº¿é¤J­È¡G ¿é¤J¸ê®Æ = Request.Form("Äæ¦ì¦WºÙ") ­Yªí³æªº¶Ç¿é¤è¦¡¬O get¡A«h§Ú­Ì¥i¥Î¤U¦C¤è¦¡Åª¥Xªí³æ¿é¤J­È¡G ¿é¤J¸ê®Æ = Request.QueryString("Äæ¦ì¦WºÙ") ¨Æ¹ê¤W¡AµL½×¬O post ©Î get¡A¥u­nÄæ¦ì¦WºÙ¤£­«½Æ¡A§Ú­Ì³£¥i¥H¥Î¤U¦C²¼g¤è¦¡Åª¥Xªí³æªº¿é¤J­È¡G ¿é¤J¸ê®Æ = Request("Äæ¦ì¦WºÙ") ³o¬O¦]¬° Request("Äæ¦ì¦WºÙ") ¦b¥¼µ¹©w Collection ®É¡A·|¹Á¸Õ¥ýŪ¨ú Request.QueryString("Äæ¦ì¦WºÙ")¡A­Y¦¨¥\¡A«h°±¤î¡F­Y¥¢±Ñ¡A«h·|¦A¹Á¸ÕŪ¨ú Request.Form("Äæ¦ì¦WºÙ")¡C

¤U¦C½d¨Ò»¡©ú¦p¦ó¸g¥Ñ Request.Form ©Î Request.QueryString ¨ú±oªí³æ¸ê®Æ¡A§A¥i¥H¿ï¥Î¤£¦Pªº¶Ç¿é¤è¦¡¡]get ©Î¬O post¡^¡A¨ÃÀ˵ø¥Ñ ASP µ{¦¡½XŪ¨úªºªí³æ¿é¤J­È¡A½d¨Ò¦p¤U:

Example¡]request/formData.asp¡^¡G

¤W­z½d¨Òªº­ì©lÀɦp¤U¡G

­ì©lÀÉ¡]request/formData.asp¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
<%@language=JScript%>
<%title="¸g¥Ñ Request.Form ©Î Request.QueryString ¶Ç°eªí³æ¸ê®Æªº½d¨Ò"%>
<!--#include file="../head.inc"-->
<hr>

<form action="formData.asp?xxx=yyy&aaa=bbb" name="myform">
<ul>
<li>±zªº¤j¦W¡G<input name="your_name" value="¾G®üÀs">
<li>³Ì«Óªº¨k©ú¬P (³æ¿ï)¡G
	<input type="radio" name="singer" value="§d´L" checked>§d´L
	<input type="radio" name="singer" value="ªL§Ó¿o">ªL§Ó¿o
	<input type="radio" name="singer" value="³¢«~¶W">³¢«~¶W
	<input type="radio" name="singer" value="¨¥©Ó¦°">¨¥©Ó¦°
<li>Àç¾iªº½Ò (½Æ¿ï)¡G
	<input type="checkbox" name="course" value="¸ê®Æµ²ºc">¸ê®Æµ²ºc
	<input type="checkbox" name="course" value="Â÷´²¼Æ¾Ç" checked>Â÷´²¼Æ¾Ç
	<input type="checkbox" name="course" value="¤uµ{¼Æ¾Ç">¤uµ{¼Æ¾Ç
	<input type="checkbox" name="course" value="¼Æ­È¤èªk" checked>¼Æ­È¤èªk
<li>³Ì³ßÅwªº¹B°Ê (³æ¿ï)¡G
	<select name="single_choice"> 
	<option value="ºô²y" selected>ºô²y
	<option value="½¼²y">½¼²y
	<option value="¹]²y">¹]²y
	<option value="Yoyo²y">Yoyo²y
	</select>
<li>¥h¹Lªº¦a¤è (½Æ¿ï)¡G
	<select name="multiple_choice" size=3 multiple>
	<option value="San Francisco" selected>San Francisco
	<option value="Los Angeles">Los Angeles
	<option value="Boston" selected>Boston
	<option value="Seoul">Seoul
	<option value="Tokyo">Tokyo
	</select>
<li>§ÚÁÙ¦³¸Ü­n»¡¡G<br>
<textarea name="comments" cols=60 rows=3>
³o­Ó°Ý¨÷«Ü¦³½ì...
¥u¯à·N·|¡A¤£¯à¨¥¶Ç...
</textarea>
</ul>
<center>
<input type="button" value="¸g¥Ñ get °e¥X" onClick="this.form.method='get'; this.form.submit()">
<input type="button" value="¸g¥Ñ post °e¥X" onClick="this.form.method='post'; this.form.submit()"><br>
¡]»Ý«ö°e¥X«á¡A¤~¥i¥H¬Ý¨ì¤U­±¸ê®Æ³á¡I¡^
</center>
</form>

<h3 align=center>¥Ñ ASP Ū¨ú¨ìªºªí³æ¸ê®Æ</h3>
<!--#include file="../listdict.inc"-->
<p><% listdict(Request.QueryString, "Request.QueryString"); %>
<p><% listdict(Request.Form, "Request.Form"); %>

<hr>
<!--#include file="../foot.inc"-->

¦b¤W­z½d¨Ò¤¤¡A§Ú­Ì¥i¥HÆ[¹î¨ì¤U¦C¨Æ¶µ¡G

Hint
¦pªG§Aªºªí³æ¦P®É¥Î¨ì get ©M post ¨âºØ¶Ç°e¤èªk¡A´N³Ì¦n¤£­n¥Î Request("Äæ¦ì¦WºÙ") ªºÂ²¼g¤è¦¡¡A¥H§K³y¦¨¿ù»~¡C

¦pªG§AªºÄæ¦ì¦WºÙ¦bªí³æ¤¤¦³©Ò­«½Æ¡A¨º»ò¥i¥Î¤U¦C¤èªkŪ¥X¡G

Request.QueryString(name)(index) ©Î Request.Form(name)(index) ¨ä¤¤

Hint
½Ð¯S§Oª`·N¡A³o¸Ìªº¯Á¤Þ­È¬O±q 1 ¶}©l¡A¦Ó¤£¬O 0¡C

­Y¦³­«½ÆÄæ¦ì¡A¦ý¥¼±Ä¥Î index ¨Ó«ü©w©Ò­nŪ¨úªº­È®É¡A«h ASP ·|Ū¨ì¦h­Ó­È©Ò§Î¦¨ªº¦r¦ê¡A¨ä¤¤¨C¤@­Ó­È³£¥H³rÂI¤À¶}¡C¨Ò¦p¡A¤U¦Cºô­¶¬O°õ¦æ

example/request/parseQueryString.asp?xyz=777&xyz=888&xyz=999&abc=111&abc=222&pqr=333
ªºµ²ªG¡G

Example¡]request/parseQueryString.asp?xyz=777&xyz=888&xyz=999&abc=111&abc=222&pqr=333¡^¡G

¤W­z½d¨Òªº­ì©lÀɦp¤U¡G

­ì©lÀÉ¡]request/parseQueryString.asp¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
<%@language=JScript%>
<%title="¦p¦ó¸ÑªR Request.QueryString ªí³æ¸ê®Æªº­«½ÆÄæ¦ì"%>
<!--#include file="../head.inc"-->
<hr>

<table border=1 align=center>
<tr>
<th bgcolor=999999>Name<th bgcolor=999999>¥X²{¦¸¼Æ<th bgcolor=999999>¸ÑªRµ²ªG</tr> 
<%
var Enum=new Enumerator(Request.QueryString);
for (Enum.moveFirst(); !Enum.atEnd(); Enum.moveNext()){
	Response.Write("<tr>");
	Response.Write("<td>"+Enum.item());
	Response.Write("<td>"+Request.QueryString(Enum.item()).count);
	Response.Write("<td>Request.QueryString("+Enum.item()+")="+Request.QueryString(Enum.item())+"<br>");
	for (i=1; i<=Request.QueryString(Enum.item()).count; i++)
		Response.Write("Request.QueryString("+Enum.item()+")("+i+")="+Request.QueryString(Enum.item())(i)+"<br>");
}
%>   
</table>

<hr>
<!--#include file="../foot.inc"-->


JScript µ{¦¡³]­p»PÀ³¥Î¡G¥Î©ó¦øªA¾¹ºÝªº ASP Àô¹Ò