Request.QueryString 和 Request.Form 命令可用于從表單取回信息,比如用戶的輸入。
ASP 表單和用戶輸入
實例:
- 使用 method="get" 的表單
- 如何使用 Request.QueryString 命令與用戶進(jìn)行交互。
- 使用 method="post" 的表單
- 如何使用 Request.Form 命令與用戶進(jìn)行交互。
- 使用單選按鈕的表單
- 如何使用 Request.Form 通過單選按鈕與用戶進(jìn)行交互。
用戶輸入
Request 對象可用于從表單取回用戶信息。
表單實例:
<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 方法從表單傳送的信息對所有的用戶都是可見的(出現(xiàn)在瀏覽器的地址欄),并且對所發(fā)送信息的量也有限制。
如果用戶在上面的表單實例中輸入 "Bill" 和 "Gates",發(fā)送至服務(wù)器的 URL 會類似這樣:
http://www.w3school.com.cn/simpleform.asp?fname=Bill
&lname=Gates
假設(shè) ASP 文件 "simpleform.asp" 包含下面的代碼:
<body> Welcome <% response.write(request.querystring("fname")
) response.write(" " &request.querystring("lname")
) %> </body>
瀏覽器將顯示如下:
Welcome Bill Gates
Request.Form
Request.Form 命令用于搜集使用 "post" 方法的表單中的值。使用 POST 方法從表單傳送的信息對用戶是不可見的,并且對所發(fā)送信息的量也沒有限制。
如果用戶在上面的表單實例中輸入 "Bill" 和 "Gates",發(fā)送至服務(wù)器的 URL 會類似這樣:
http://www.w3school.com.cn/simpleform.asp
假設(shè) ASP 文件 "simpleform.asp" 包含下面的代碼:
<body> Welcome <% response.write(request.form("fname")
) response.write(" " &request.form("lname")
) %> </body>
瀏覽器將顯示如下:
Welcome Bill Gates
表單驗證
只要有可能,就應(yīng)該對用戶輸入的數(shù)據(jù)進(jìn)行驗證(通過客戶端的腳本)。瀏覽器端的驗證速度更快,并可以減少服務(wù)器的負(fù)載。
如果用戶數(shù)據(jù)會輸入到數(shù)據(jù)庫中,那么你應(yīng)該考慮使用服務(wù)器端的驗證。有一種在服務(wù)器端驗證表單的好的方式,就是將(驗證過的)表單傳回表單頁面,而不是轉(zhuǎn)至不同的頁面。用戶隨后就可以在同一個頁面中得到錯誤的信息。這樣做的話,用戶就更容易發(fā)現(xiàn)錯誤了。