JAVA啟發者
例如: <form action="http://www.yesky.com/test.asp" method="post" target="_blank">...</form> 表示表單將向http://www.yesky.com/test.asp以post的方式提交,提交的結果在新的頁面顯示,數據提交的媒體方式是默認的application/x-www-form-urlencoded方式; 1.2 表單域 表單域包含了文本框、多行文本框、密碼框、隱藏域、復選框、單選框和下拉選擇框等,用于采集用戶的輸入或選擇的數據,下面分別講述這些表單域的代碼格式: 1.2.1 文本框 文本框是一種讓訪問者自己輸入內容的表單對象,通常被用來填寫單個字或者簡短的回答,如姓名、地址等。 代碼格式:<input type="text" name="..." size="..." maxlength="..." value="..."> 屬性解釋: type="text"定義單行文本輸入框; name屬性定義文本框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱; size屬性定義文本框的寬度,單位是單個字符寬度; maxlength屬性定義最多輸入的字符數。 value屬性定義文本框的初始值樣例1: 樣例1代碼:
<input type="text" name="example1" size="20" maxlength="15">1.2.2 多行文本框 也是一種讓訪問者自己輸入內容的表單對象,只不過能讓訪問者填寫較長的內容。 代碼格式:<TEXTAREA name="..." cols="..." rows="..." wrap="VIRTUAL"></TEXTAREA> 屬性解釋: name屬性定義多行文本框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱; cols屬性定義多行文本框的寬度,單位是單個字符寬度; rows屬性定義多行文本框的高度,單位是單個字符寬度; wrap屬性定義輸入內容大于文本域時顯示的方式,可選值如下:
樣例2:
樣例2代碼:
<TEXTAREA name="example2" cols="20" rows="2" wrap="PHYSICAL"></TEXTAREA>
1.2.3 密碼框 是一種特殊的文本域,用于輸入密碼。當訪問者輸入文字時,文字會被星號或其它符號代替,而輸入的文字會被隱藏。 代碼格式:<input type="password" name="..." size="..." maxlength="..."> 屬性解釋: type="password"定義密碼框; name屬性定義密碼框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱; size屬性定義密碼框的寬度,單位是單個字符寬度; maxlength屬性定義最多輸入的字符數。 樣例3: 樣例3代碼:
<input type="password" name="example3" size="20" maxlength="15">1.2.4 隱藏域 隱藏域是用來收集或發送信息的不可見元素,對于網頁的訪問者來說,隱藏域是看不見的。當表單被提交時,隱藏域就會將信息用你設置時定義的名稱和值發送到服務器上。 代碼格式:<input type="hidden" name="..." value="..."> 屬性解釋: type="hidden"定義隱藏域; name屬性定義隱藏域的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱; value屬性定義隱藏域的值 例如:<input type="hidden" name="ExPws" value="dd">1.2.5 復選框 復選框允許在待選項中選中一項以上的選項。每個復選框都是一個獨立的元素,都必須有一個唯一的名稱。 代碼格式:<INPUT type="checkbox" name="..." value="..."> 屬性解釋: type="checkbox"定義復選框; name屬性定義復選框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱; value屬性定義復選框的值樣例4: yesky.com Chinabyte.com樣例4代碼: <input type="checkbox" name="yesky" value="09">yesky.com <input type="checkbox" name="Chinabyte" value="08">Chinabyte.com1.2.6 單選框 當需要訪問者在待選項中選擇唯一的答案時,就需要用到單選框了。 代碼格式:<input type="radio" name="..." value="..."> 屬性解釋: type="radio"定義單選框; name屬性定義單選框的名稱,要保證數據的準確采集,單選框都是以組為單位使用的,在同一組中的單選項都必須用同一個名稱; value屬性定義單選框的值,在同一組中,它們的域值必須是不同的。 樣例5: yesky.com Chinabyte.com樣例5代碼: <input type="radio" name="myFavor" value="1">yesky.com <input type="radio" name="myFavor" value="2">Chinabyte.com1.2.7 文件上傳框 有時候,需要用戶上傳自己的文件,文件上傳框看上去和其它文本域差不多,只是它還包含了一個瀏覽按鈕。訪問者可以通過輸入需要上傳的文件的路徑或者點擊瀏覽按鈕選擇需要上傳的文件。 注意:在使用文件域以前,請先確定你的服務器是否允許匿名上傳文件。表單標簽中必須設置ENCTYPE="multipart/form-data"來確保文件被正確編碼;另外,表單的傳送方式必須設置成POST。 代碼格式:<input type="file" name="..." size="15" maxlength="100"> 屬性解釋: type="file"定義文件上傳框; name屬性定義文件上傳框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱; size屬性定義文件上傳框的寬度,單位是單個字符寬度; maxlength屬性定義最多輸入的字符數。 樣例6: 樣例6代碼:
<input type="file" name="myfile" size="15" maxlength="100">1.2.8 下拉選擇框 下拉選擇框允許你在一個有限的空間設置多種選項。 代碼格式: <select name="..." size="..." multiple> <option value="..." selected>...</option> ... </select> 屬性解釋: size屬性定義下拉選擇框的行數; name屬性定義下拉選擇框的名稱; multiple屬性表示可以多選,如果不設置本屬性,那么只能單選; value屬性定義選擇項的值; selected屬性表示默認已經選擇本選項。 樣例7: yesky.com chinabyte.com 樣例7代碼: <select name="mySel" size="1"> <option value="1" selected>yesky.com</option> <option value="d2">chinabyte.com</option> </select> 樣例8: yesky.com chinabyte.com internet.com 按Ctrl可以多選樣例8代碼: <select name="mySelt" size="3" multiple> <option value="1" selected>yesky.com</option> <option value="d2">chinabyte.com</option> <option value="3">internet.com</option> </select>1.3 表單按鈕 表單按鈕控制表單的運作。1.3.1 提交按鈕 提交按鈕用來將輸入的信息提交到服務器。 代碼格式:<input type="submit" name="..." value="..."> 屬性解釋: type="submit"定義提交按鈕; name屬性定義提交按鈕的名稱; value屬性定義按鈕的顯示文字; 樣例9: 樣例9代碼:
<input type="submit" name="mySent" value="發送">
1.3.2 復位按鈕 復位按鈕用來重置表單。 代碼格式:<input type="reset" name="..." value="..."> 屬性解釋: type="reset"定義復位按鈕; name屬性定義復位按鈕的名稱; value屬性定義按鈕的顯示文字; 樣例10:
樣例10代碼:
<input type="reset" name="myCancle" value="取消">
1.3.3 一般按鈕 一般按鈕用來控制其他定義了處理腳本的處理工作。 代碼格式:<input type="button" name="..." value="..." onClick="..."> 屬性解釋: type="button"定義一般按鈕; name屬性定義一般按鈕的名稱; value屬性定義按鈕的顯示文字; onClick屬性,也可以是其它的事件,通過指定腳本函數來定義按鈕的行為;樣例11:
樣例11代碼: <input type="button" name="myB" value="保存" onClick="javascript:alert('it is a button')">-------------------------------------------------------------
二、表單外觀的美化 很多時候,我們僅僅為了實現數據采集這個功能來使用表單,常看到的表單都是“千人一面”、毫無生氣,本專題嘗試著來改變這一現象,試圖賦予表單一個豐富多彩的面貌。表單的外觀,也是最為直接的花樣,可以通過改變它來實現特效,本文分兩個出發點來講述:CSS魔法和圖像魔法。 1、CSS魔法CSS,就是大家知道的層疊樣式單,它可以定義頁面元素的外觀,包括字體樣式、背景顏色和圖像樣式、邊框樣式、補白樣式、邊界樣式等等,下面就從這幾個方面出發,討論怎樣將CSS應用到表單中,徹底美化它! 1.1 字體樣式的應用 字體樣式包括:字體族科(font-family)、字體風格(font-style)、字體變形(font-variant)、字體加粗(font-weight)、字體大小(font-size)、字體(font),具體的定義方法,在這里不詳細講述,可以參考它的資料。 也許你已經注意到,按鈕上的文字不漂亮,其實可以通過CSS字體樣式來解決,同樣地,其它的幾個涉及到文字的表單項,例如,文本框、多行文本框、口令框、下拉選擇框都可以應用字體樣式。 為了充分展示這些應用,下例特別設計了幾種樣式,在實際應用中,不必這么凌亂,靈活運用: 樣例12:表單元素的字體樣式展示 yesky.com redidea.net underline css style 分析:
小結:只要我們對字體的樣式熟悉了,就可以靈活多變,不一定要在標簽里面使用style來定義,完全可以在<head>里定義,或者外部引用CSS文件,用到的時候引用一下就能達到預期的效果。 1.2 背景顏色和圖像樣式的應用 有很多時候,網頁由于顏色的搭配,不得不對表單的背景顏色和圖像樣式進行設計,背景顏色利用background-color屬性,背景圖像利用background-image屬性,顏色和圖像同樣能夠得到意想不到的效果。 樣例13: 表單元素的背景展示 復選 單選 yesky.com redidea.com chinabyte.com sina.com sohu.com 分析:
小結:用好background-color屬性和background-image屬性,就可以設計很出“色”表單了。1.3 邊框樣式的應用 也許你覺得表單的邊框過于死板,我們能否設計單線條,或者其它的邊框樣式呢?當然可以! 和邊框有關的屬性有:邊框式樣border-style、上邊框border-top、右邊框border-right、下邊框border-bottom、左邊框border-left、邊框顏色border-colr、邊框寬度 border-width、上邊框寬度border-top-width、右邊框寬度border-right-width、下邊框寬度border-bottom-width、左邊框寬度border-left-width、邊框 border,這里不作詳細的講述,請參考有關資料。 樣例14: 8種邊框形式的展示 復選 單選 分析:
樣例15:邊框的特殊設計展示 聰明的讀者一定會想到,如果設計單邊框,一定更加漂亮,對!下面我們來嘗試以下部分邊框的設置效果,本例僅僅以Solid和dotted兩種類型的邊框作演示,其它類型的邊框原理相同:
2、圖像魔法 圖像,是網頁的重要元素,能否應用到表單中呢?接下來,我們用圖像來改造死板的表單,分兩個部分來探討:用圖像代替按鈕、用背景圖美化表單元素。 2.1 用圖像代替按鈕由于默認的表單按鈕太丑陋,絕大多數的網站采用了圖像按鈕,那么,我們通過兩個實例來看看怎樣實現的:樣例16:用圖像代替提交按鈕: 當只有一個提交按鈕的時候,可以簡單地實現,不用加事件函數,代碼是:<input type="image" name="..." src="url" width="" height="..." border="..."> 除了標簽改為input type="image"以外,其它的屬性和<img>標簽的屬性是一樣的,例如: 是不是只要用圖片就可以代替所有的按鈕呢?是的,不過,不是上面這么簡單了,必須加上事件函數,不然的話,圖片都是提交按鈕,不能完成復位等功能,看看下面的例子就知道了:樣例17:用圖片代替所有的表單按鈕: 注意:
2.2 用背景圖美化表單元素 其實,前面已經提到過,用background-image:url()屬性來定義表單元素的背景圖,這里僅舉一例,可以看到,除了select沒有效果以外,其它的都可以配合網頁的背景來設置它們。樣例18:背景圖的設置
www.yesky.com redidea.com www.chinabyte.com
------------------------------------------------------------
三、表單的提交 既然表單是用來采集用戶輸入的數據,那么,就應該保證用戶的數據被準確地提交到預定的地點,也就是說,我們在表單提交的時候,應該對用戶的數據進行檢驗,一來可以避免用戶誤輸數據,二來可以避免用戶輸入非法的,或者說不合格的數據;檢驗合格以后,還要保證用戶的數據提交到特定的程序。 1.數據的檢驗 數據的檢驗,通常有兩種程序:客戶端檢驗和服務器端檢驗。客戶端檢驗,比較快,服務器端檢驗,相對來說比較慢,為了確保安全,通常同時采用,這樣就可以避免用戶刻意破壞。 不管采用什么方式,數據檢驗的原理都是一樣的,一旦用戶輸入的數據不符合規定,就報錯,要求用戶重新輸入,客戶端檢驗常使用Javascrip腳本,服務器端的視系統而定,本文不對數據檢驗的具體程序設計進行探討,僅僅列舉幾個例子來說明。 樣例19:必填項,以及簡單的數據類型檢驗
2.表單的分支提交 有的時候,表單需要根據用戶的選擇,提交到不同的程序,怎么做呢? 通過腳本來檢測用戶的選擇分支,從而向不同的程序提交表單,看看樣例: 樣例20:分支提交
------------------------------------------------------------------
四、表單的常用技巧 這些常用技巧,往往是和事件以及腳本聯系在一起,本文注重功能,至于腳本,就不一一詳細分析。常見的技巧有:下拉跳轉菜單,表單內容的聚焦。 1.下拉跳轉菜單 在Dreamweaver中,可以很方便地建立基于表單的下拉菜單,為了兼顧非Dreamweaver用戶,這里講述一下這種技巧。 樣例22:基于表單的下拉跳轉菜單
posted on 2007-07-20 09:12 朱巖 閱讀(640) 評論(0) 編輯 收藏 所屬分類: CSS文章
Powered by: BlogJava Copyright © 朱巖