版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第5章 Web表單和Request對象,本章要點: WEB中表單的設(shè)計和數(shù)據(jù)的提交 掌握文本框、復(fù)選框、下拉菜單、單選按鈕等控件的運用 Request對象詳解,在Web應(yīng)用程序中,用戶瀏覽信息、輸入信息以及與服務(wù)器的交互,都通過瀏覽器實現(xiàn)。用戶提交請求數(shù)據(jù),必須先在瀏覽器頁面上輸入數(shù)據(jù),然后通過表單向服務(wù)器提交請求數(shù)據(jù),服務(wù)器將處理的結(jié)果通過瀏覽器再輸出到相應(yīng)的頁面中。 第4章介紹了有關(guān)Response對象的運用,它主要作用是把數(shù)據(jù)下載到瀏覽器,而Request對象則是用來讀取瀏覽器的信息,例如獲取用戶通過瀏覽器輸入的數(shù)據(jù)。本章詳細介紹如何設(shè)計用戶輸入數(shù)據(jù)的表單以及如何處理用戶請求的數(shù)據(jù)。,5
2、.1Web表單,5.1.1表單數(shù)據(jù)的提交 在一個Web應(yīng)用程序中,HTML表單(也稱窗體)是收集用戶請求數(shù)據(jù)最基本的方法。要建立一個交互式的Web應(yīng)用程序,需要使用HTML表單,它可以讓用戶輸入信息,并對此做出反應(yīng)。使用表單可以建立類似復(fù)選框、單選按鈕以及文本框等常用控件(也可稱為元素)。在網(wǎng)上可以經(jīng)??吹街T如會員注冊、用戶登錄、留言簿、論壇等用表單形式實現(xiàn)各種交互功能的應(yīng)用。,格式里包含的屬性:, name屬性 表示該表單的名稱。 method屬性 表示表單的請求類型,服務(wù)器應(yīng)該如何處理由瀏覽器提供的URL信息。通常包括兩種常用的屬性值:get和post。表單在發(fā)送數(shù)據(jù)時,若采用get方法,
3、會把數(shù)據(jù)作為URL的參數(shù)。而用post方法提交,發(fā)送的信息包含在請求的主體之中,不會顯示在URL中。通常采用post方法比較多。 action屬性 表示將當前表單中的數(shù)據(jù)發(fā)送到哪個文件進行處理,通常是一個ASP文件。如在5_1a.asp文件的表單中action=5_1b.asp,表示將當前表單中的所有控件的值發(fā)送到5_1b.asp文件進行處理。由此可知,為什么點擊“提交”按鈕后,瀏覽器會自動轉(zhuǎn)到5_1b.asp頁面。如果提交到本頁面,則可以省略action屬性。,格式里包含的屬性:, enctype屬性 表示數(shù)據(jù)傳送MIME類型,通??梢允÷?。 target屬性 表示輸出窗口或分頁的名稱,在框
4、架中處理表單時,經(jīng)常會使用。比如在點擊“提交”按鈕后,使action所指的目標也在新建頁面中打開,則可把target屬性設(shè)置為“_blank”。通??梢允÷浴?在這里強調(diào)的是:表單控件(包括文本框、密碼框、復(fù)選框、單選按鈕、下拉菜單控件、列表框、提交按鈕、多行文本框以及隱藏控件)必須添加在之間,添加在之外的控件的數(shù)據(jù),將不會被正確提交到目標頁中。而且,一般在表單中應(yīng)該至少包含一個提交按鈕,如。在瀏覽器中通過單擊該提交按鈕,將把表單中的數(shù)據(jù)發(fā)送到目標頁面中進行處理。注意它的類型往往會是submit。,5.1.2用Request對象接收表單數(shù)據(jù),前面介紹通過指定表單的action屬性,可將表單控件
5、的數(shù)據(jù)發(fā)送到目標頁。而在目標頁中,如何接收表單提交過來的數(shù)據(jù)呢?這里,需要使用Requeset對象進行數(shù)據(jù)接收,Request對象接收數(shù)據(jù)簡化的格式為: Request (參數(shù)) 其中的參數(shù)表示form表單中控件(或元素)的名稱或者是變量名。,form的method屬性和Request對象接收集合的對應(yīng)關(guān)系,5.2 Web表單控件,眾所周知,要建立一個交互式的網(wǎng)頁,需要使用HTML表單,它可以讓管理員收集訪問該網(wǎng)站的用戶提供的信息,并對此做出反應(yīng)。使用表單,可以建立像文本框、按鈕、復(fù)選框、單選按鈕及列表框等控件。有了這些控件用戶就可以隨心所欲的進行交互。,5.2.1文本框,文本框是最基本的表單
6、控件,幾乎每個表單都要用到文本框控件。它的HTML格式如下: 在該格式中,以為基本標記,其中包含了type、name、size、maxlength、value等屬性,下面逐一介紹。 1.標記 該標記是文本框控件的起始標記,以Input開頭的控件還有:按鈕、密碼框、復(fù)選框、單選按鈕、隱藏控件等,在缺省其它屬性的情況下表示文本框控件。 2.type屬性 該屬性說明控件的類型。如type=text,表示文本框;type=password,表示密碼框等。實際上在表示文本框時,type屬性可以省略,因為標記符缺省type屬性設(shè)為text。例如語句,雖然沒有指定屬性type=text,同樣可以表示一個文本
7、框控件。,5.2.1文本框,3.name屬性 表示控件的名稱,一般任何一個要提交數(shù)據(jù)的控件都必須要加入該屬性。它也是Request對象接收數(shù)據(jù)的依據(jù)。例如,要接收文本框輸入的內(nèi)容,就要用Request(text1)來接收。其中的text1就是name屬性的值,作為Request對象的參數(shù)。 4.value屬性 表示文本框控件的默認值,指定在用戶輸入前缺省狀態(tài)下文本框中顯示的文字。例如,假設(shè)有一個文本框,讓用戶在其中輸入國別,預(yù)計大部分用戶都是中國人,則可以使用將文本框的缺省值設(shè)為“中國”。,5.2.1文本框,5.size屬性 該屬性控制文本框的寬度,使用時可根據(jù)需要以字符數(shù)來指定size屬性的
8、值。 6.maxlength屬性 該屬性限制文本框輸入字符的個數(shù)。例如,想讓用戶輸入6個數(shù)字的郵政編碼,也就是不讓用戶輸入超過6個字符,這就要靠maxlength來實現(xiàn)。,5.2.2按鈕,在HTML表單中使用的典型按鈕有三種,分別是重置按鈕、提交按鈕和普通按鈕,它們的HTML格式代碼如下: 三種按鈕都是以標記開頭,決定三種按鈕類型的是type屬性,其中submit表示提交按鈕,是專門用于提交表單內(nèi)容的;reset表示重置按鈕,將當前表單中控件都恢復(fù)為默認值(value屬性的值);button表示普通按鈕,它本身沒有特殊作用,一般要結(jié)合客戶端腳本語言使用。其中,提交按鈕和重置按鈕一般都使用在表單
9、域中。value屬性的值決定了在按鈕上顯示的文字。,1.提交按鈕,前面已經(jīng)介紹過提交按鈕。當單擊提交按鈕時,表單內(nèi)容會提交到action屬性所指定的頁面進行處理。因此,一般在表單中提交按鈕必不可少。當在FrontPage中插入表單時,一般會自動生成提交按鈕和重置按鈕。且提交按鈕必須放置在表單內(nèi)部,如果放在表單之外,它將起不到提交數(shù)據(jù)的作用。,2.重置按鈕,重置按鈕的主要作用是將同一表單中的控件都恢復(fù)為默認值,所謂控件的默認值就是value屬性的值。這樣可以避免數(shù)據(jù)被錯誤修改。,3.普通按鈕,普通按鈕本身沒有特殊作用,通常需要結(jié)合客戶端腳本語言(VBScript和JavaScript腳本)一起使
10、用,例如單擊按鈕時出現(xiàn)某種特效,這就要結(jié)合OnClick事件和客戶端腳本進行編程。代碼5-3使用單擊按鈕,用于關(guān)閉當前窗口。,5.2.3密碼框,密碼框的工作原理與文本框類似,只是當輸入數(shù)據(jù)時不明確顯示,而是用*來代替。這樣一來,在一定程度上防止了密碼外泄。密碼框主要運用在用戶注冊和登錄界面中。,5.2.4滾動文本框,普通文本框只能在一行上輸入數(shù)據(jù),輸入的數(shù)據(jù)比較有限。滾動文本框彌補普通文本框的缺陷,它可以輸入更多的數(shù)據(jù),且可以換行輸入。在FrontPage中要插入滾動文本框可以選擇菜單【插入】【表單】【滾動文本框】選項。如果需要設(shè)置滾動文本框的屬性,則可在插入的滾動文本框上單擊鼠標右鍵,選擇“
11、表單域?qū)傩浴?,出現(xiàn)“滾動支本框?qū)傩浴贝翱凇?使用滾動文本框要注意以下幾點, 由于滾動文本框可輸入的數(shù)據(jù)較多,當某一表單要使用滾動文本框時,最好將Method屬性設(shè)置為Post,若設(shè)置成Get,則會受到傳輸數(shù)據(jù)量的限制,造成文字傳輸不完整。 如果要在ASP程序中使用Response.Write方法顯示滾動文本框的內(nèi)容(這兒所指的不是顯示在滾動文本框上),特別需要注意換行符。滾動文本框的換行符在VbScript腳本中可使用常量VbCrlf(等于Chr(13)+Chr(10))表示,只是它在瀏覽窗口顯示時并不體現(xiàn)換行。所以應(yīng)該先將其轉(zhuǎn)換成HTML語言中的換行標記或者。而如果是顯示在滾動文本框上,則不
12、需要轉(zhuǎn)換。,5.2.5復(fù)選框和單選按鈕,在某些表單中用戶不需要輸入數(shù)據(jù),而只需提供一些固定的選項讓用戶選擇,復(fù)選框和單選按鈕就是此類控件。復(fù)選框可在眾多選項中選擇多個,而在一組單選按鈕中則只允許選擇其中一個。,5.2.6下拉菜單和列表框,復(fù)選框和單選按鈕都是可以讓用戶選擇要輸入的內(nèi)容,下拉菜單和列表框也是提供用戶選擇的控件。,5.2.7隱藏控件,隱藏控件不顯示在窗體中,但控件信息卻可以在窗體提交時被包含。 隱藏控件有時候十分有用。在設(shè)計ASP程序時,往往會在網(wǎng)頁之間傳遞隱藏信息。使用隱藏控件可以建立不依賴于Cookies的變量,這樣做既有優(yōu)點也有缺點。,5.3Request對象綜述,在介紹表單
13、的同時,已經(jīng)使用了Request對象接收從表單中的數(shù)據(jù)。實際上,用Request 對象可以訪問任何基于HTTP請求傳遞的信息,包括從HTML表格用POST方法或GET方法傳遞的參數(shù),cookie和用戶認證也可以訪問客戶端發(fā)送給服務(wù)器的二進制數(shù)據(jù)。Request對象包含QueryString、Form、Cookies、ServerVariables、ClientCertificate五個集合和一個BinaryRead方法以及一個TotalBytes屬性。,5.3.1Form集合,Form集合可以接收HTML表單中用Post方法提交過來的數(shù)據(jù)。格式如下: Request.Form (element
14、) (index)|.Count 其中,參數(shù)element用于指定集合要檢索的表單控件元素的名稱;index為可選參數(shù),使用該參數(shù)可以訪問多個數(shù)據(jù)值中的一個,可以是1到Request.Form(element).Count之間的任意整數(shù);參數(shù)Count用于指定集合中元素的個數(shù) 。,5.3.2QueryString集合,QueryString集合用于接收用Get方法提交的表單數(shù)據(jù),也可以檢索HTTP查詢字符串中變量的值。HTTP查詢字符串由問號后面的值所指定,例如有下列一個超鏈接: 學(xué)校 在Example.asp的問號(?)后傳遞一個變量School,變量值為“浙江工業(yè)職業(yè)技術(shù)學(xué)院”。這樣在Ex
15、ample.asp代碼中,就可以用Request.QueryString(School)來接收School變量傳遞的值。GET方法提交的表單或者由用戶在瀏覽器地址欄中鍵入查詢均可以生成查詢字符串。,5.3.3Cookies集合,Cookies俗稱甜餅,可以在客戶端長期保存訪問某個網(wǎng)站的信息。當?shù)谝淮卧L問一個WEB站點時,它會將有關(guān)信息保存到計算機的硬盤上。下一次訪問同一個站點時,站點的頁面會讀取計算機上的Cookies,并將新的信息保存到計算機上。,5.3.4ServerVariables集合,瀏覽器瀏覽網(wǎng)頁使用的是HTTP協(xié)議,在HTTP的標題文件中會記錄一些客戶端的信息,如客戶的IP地址等
16、等,有時服務(wù)器端需要根據(jù)不同的客戶端信息做出不同的反映,此時需使用ServerVariables集合獲取信息。該集合語法如下: Request.ServerVariables(服務(wù)器環(huán)境變量),5.3.5ClientCertificate集合,Request對象的ClientCertificate集合提供了客戶數(shù)字認證。當客戶瀏覽器支持安全套節(jié)字層(Secure Sockets Layer,SSL)協(xié)議(即URL以HTTPS:/ 開頭),而且瀏覽器所連接到Web服務(wù)器頁運行于SSL的時候,客戶認證將被發(fā)送給Web服務(wù)器。語法如下: Request.ClientCertificate (關(guān)鍵字),5.3.6TotalBytes屬性,Request對象只有一個只讀屬性即TotalBytes,用來指定客戶端在請求中發(fā)送的總字節(jié)數(shù)。語法如下: Counter=Request.TotalBytes 例如,用來返回客戶端發(fā)送的總字節(jié)數(shù)腳本。 ,5.3.7BinaryRead方法,Request對象只有一個BinaryRead方法,檢索用POST方法從客戶端發(fā)送到服務(wù)器的一部分數(shù)據(jù)。Request.BinaryRead方法可以直接讀取一定字節(jié)數(shù)的參數(shù),并返回變體類型的數(shù)組,其中包含從請求的POST段中得到的字節(jié)(例如在ASP的Form集合中數(shù)據(jù))。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能家居音響系統(tǒng)與家裝室內(nèi)裝修合同9篇
- 二零二五版大理石瓷磚研發(fā)與銷售合作合同范本3篇
- 二零二五版民營企業(yè)股權(quán)激勵合同書3篇
- 教育局教師幼兒園專項2025年度勞動合同規(guī)范文本3篇
- 二零二五年銷售代理合同:汽車銷售代理及區(qū)域獨家合作協(xié)議2篇
- 2025年科技孵化器場地租賃保證金合同范本2篇
- 二零二五版39上公司兜底協(xié)議:綠色環(huán)保項目投資風(fēng)險控制合同3篇
- 二零二五年度鋼箱梁橋工程施工廢棄物處理與回收利用合同3篇
- 二零二五版綠色建筑項目基礎(chǔ)勞務(wù)分包合同2篇
- 二零二五年度高速公路隧道防雷安全防護合同3篇
- Android移動開發(fā)基礎(chǔ)案例教程(第2版)完整全套教學(xué)課件
- 醫(yī)保DRGDIP付費基礎(chǔ)知識醫(yī)院內(nèi)培訓(xùn)課件
- 專題12 工藝流程綜合題- 三年(2022-2024)高考化學(xué)真題分類匯編(全國版)
- DB32T-經(jīng)成人中心靜脈通路裝置采血技術(shù)規(guī)范
- 【高空拋物侵權(quán)責(zé)任規(guī)定存在的問題及優(yōu)化建議7100字(論文)】
- TDALN 033-2024 學(xué)生飲用奶安全規(guī)范入校管理標準
- 物流無人機垂直起降場選址與建設(shè)規(guī)范
- 冷庫存儲合同協(xié)議書范本
- AQ/T 4131-2023 煙花爆竹重大危險源辨識(正式版)
- 武術(shù)體育運動文案范文
- 設(shè)計服務(wù)合同范本百度網(wǎng)盤
評論
0/150
提交評論