Latest web development tutorials

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.w3cschool.cc/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.w3cschool.cc/simpleform.asp

假設"simpleform.asp" 文件包含下面的ASP 腳本:

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

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

Welcome Bill Gates


表單驗證

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

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