|
|
|
|
■ 本節主要介紹的標記: |
|
<FORM> <INPUT>
INPUT 的種類: Text, Radio,Checkbox, Password, Submit/Reset, Image, File, Hidden, Button。
<SELECT> <OPTION>
<TEXTAREA>
欲明白本篇【HTML剖析】之標記分類請看 【標記一覽】。
亦請先明白圍堵標記與空標記的分別請看 【HTML概念】。
| ■ 引子
|
表單的用處很多,於網上無處不見,當然是配合 CGI 使用為佳,所以閣下有意使用或學
習 CGI 的話,表單設計見必需的,CGI 的知識請看【CGI 集】及【CGI 剖析】。
這一節介紹的標記不多,但其參數變化很多。一份表單的基本架構是:在 <FORM> 標記
的包圍下加上一種或以上的表單輸入方式及一個或以上的按鍵。
|
|
<FORM>稱為表單標記,用以宣告此為表單模式,屬於一個容器標記,表示其它表單標記
需要在它的包圍中才有效,<INPUT>便是其中的一個,用以設定各種輸入資料的方法。它
是一個空標記。
<FORM> 的參數設定(常用):
例如: <form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
- action="http://your.isp.com/cgi-local/example.cgi"
表單通常是與 CGI 配合使用的,參數 action 便是用以指明該 CGI 程式的位置,這
樣此表單所填的資料才能正確傳給 CGI 作處理。若閣下沒有 CGI 以進行測試,可
設定此參數為 ACTION="mailto:your@email.com" 那樣該表單所填的資料將會寄至
此電郵地址(紅色部分)。
- method="POST"
傳送資料給 CGI 的的方式,可選值為 POST, GET,它們的分別會在【CGI剖析】
再詳細敘述。你只需記住POST容許傳送大量資料,但 GET則只接受低於 1K 的資
料,所以你若看過別人的表單原始碼的話,你會發現申請表單用的是POST 而搜
找器用的是 GET。
<INPUT> 的參數設定(常用):
由於其第一個參數 type 己有很多的選擇,而不同的選擇表示出不同的輸入方式,且其它
參數亦因此而異,故以下將獨立介紹不同輸入方式及其它參數設定。
輸入方式一: Text (單行文字盒)
例如<input type="Text" name="age" value="20" align="MIDDLE" size="2" maxlength="255">
- type="Text"
輸入方式為 Text,能產生一單行文字盒,上限為 255 字元。
- name="age"
此一單行文字盒名稱,這是最重要的一個,方便 CGI 辨認由表單傳來的資料,雖
說可隨便命名,但通常 CGI 程式中都有指定名稱,若轉用其它名稱便需要修改該
CGI 程式了,名稱可為沒空白沒特別符號的英文或數字,有大小寫的分別,可以
寫成 Your_Age,若有訪客於此表單此一文字盒填入 40 的話,那末傳給 CGI 的字
串便是 Your_Age=40。
- value="20"
此一單行文字盒內定值。若不填寫則文字盒是空白的,等待訪客親自鍵入,若
value="20" 的話, 20 便會出現在文字盒中,當然訪客可以修改之。
- align="MIDDLE"
可選值:top, middle, bottom, left, right, texttop, baseline, absmiddle. 沒太大有處。
- size="2"
此一單行文字盒顯示的長度,若閣下是採用 Big5 編碼的中文網頁便要小心,同
size 的文字盒 NC 會顯示得比 IE 頗長。
- maxlength="255"
此一單行文字盒可輸入字元的上限,為方便編排資料或避免錯輸入等,宜設定上
限,例如輸入電話或 ICQ UIN 的可設為 8,年齡為 2 等。
例子:
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
請填入電話號碼:<input type="Text" name="phone" value="" size="10" maxlength="8">
</form>
|
顯示結果 |
|
輸入方式二: Radio (單一選擇)
例如:<input type="Radio" name="gender" value="female" align="MIDDLE" checked>
- type="Radio"
輸入方式為 Radio,能產生一單一選擇,以供點選。
- name="gender"
此一 Radio 名稱,參考 Text 部分的說明。
- value="female"
內定值。每一個 radio 必須及僅有一個 value,通常有同時採用兩個或以上同
name 不同 value 的 Radio 輸入方式,可讓使用使任選其一。
- align="MIDDLE"
可選值:top, middle, bottom, left, right, texttop, baseline, absmiddle。
- checked
設該 Radio 為內定被選。同 name 的各個 Radio 中只能有一個使用,或全不使用這
參數。
例子:
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
請選性別:
<input type="Radio" name="gender" value="Female">女性
<input type="Radio" name="gender" value="Male" checked>男性
<br>你喜歡嗎:
<input type="Radio" name="like" value="Yes">喜歡
<input type="Radio" name="like" value="No">不喜歡
<input type="Radio" name="like" value="NotSure">不肯定
</form>
|
顯示結果 |
|
輸入方式三: Checkbox (確認盒)
例如:<input type="Checkbox" name="idol" value="Leon" align="RIGHT" checked>
- type="Checkbox"
輸入方式為 Checkbox,能產生一確認盒,以供剔選。
- name="idol"
此一 Checkbox 名稱,參考 Text 部分的說明。
- value="Leon"
內定值。每一個 Checkbox 必須及僅有一個 value,當被剔選時這值便會傳及
CGI,例如所傳字串 idol=Leon 。
- align="RIGHT"
可選值:top, middle, bottom, left, right, texttop, baseline, absmiddle。
- checked
設該 Checkbox 為內定被選。每個 Checkbox 都是獨立的,所以每一個都可使用這
參數,不像 Radio。
例子:
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
你喜歡以下那些明星:
<br><input type="Checkbox" name="idol01" value="Leon">黎明
<input type="Checkbox" name="idol02" value="Noriko_Sagai">酒井法子
<input type="Checkbox" name="idol03" value="Leon">鄭秀文
<input type="Checkbox" name="idol04" value="BonJovi" checked>BonJovi
</form>
|
顯示結果 |
|
輸入方式四: Password (密碼輸方盒)
例如:<input type="Password" name="pw" value="999" align="MIDDLE" size="5" maxlength="9">
- Password 的其他參數和 Text 是完全相同的,請參考 Text 的介紹。
兩者作用不同,Password 所輸入的字元全以 * 號表示。
例子:
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
請輸入姓名:<input type="Text" name="name">
<br>請輸入密碼:<input type="Password" name="pw" maxlength="9">
</form>
|
顯示結果 |
|
輸入方式五: Submit (傳送鍵)及 Reset (清除鍵)
這是表單上重要的兩個按鍵,兩者所附帶的參數相同,但用處不大。
例如:<input type="Submit" name="other_funtion" value="確定" align="MIDDLE">
<input type="Reset" value="清除" align="MIDDLE">
- type="Submit"
設定輸入方式為 Submit 或 Reset。
- name="other_funtion"
Submit 的功能隨 name 的不同而不同,須和 CGI 配合。若你只需要普通的傳送
鍵,則是其內定,不必用此參數。
- value="確定"
這個值不是輸給 CGI 的,而是顯示在按鍵上,可以不用,傳送鍵的內定值為
Submit Query,清除鍵的內定值為 Reset。
- align="MIDDLE"
可選值:top, middle, bottom, left, right, texttop, baseline, absmiddle。
例子:
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
<input type="Submit"><input type="Reset">
<br><input type="Submit" value=" 確定 "><input type="Reset" value="清除">
</form>
|
顯示結果 |
|
輸入方式六: Image (圖片按鍵)
這通常用以取代 Submit 及 Reset 兩個按鍵,因為由程式產生的按鍵并不漂亮,這 Image 參
數便容許你採用自已製造的按鍵。
例如:<input type="Image" name="submit" align="BOTTOM" src="ex_icon.gif">
- type="Image"
輸入方式為 Image。
- name="submit"
所要代表的按鍵,可以是 submit, reset, 或其它。
- align="BOTTOM"
可選值:top, middle, bottom, left, right, texttop, baseline, absmiddle。
- src="ex_icon.gif"
按鍵圖片來源,若此圖片檔不與該 html 檔在同一目錄下,請加上相對或絕對途
徑。
例子:
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
<input type="Image" name="submit" align="BOTTOM" src="ex_icon.gif">
</form>
|
顯示結果 |
|
輸入方式七: File
例如:<input type="File" name="upload" align="BOTTOM" size="20" maxlength="100" accept="text/html">
- input type="File"
輸入方式為 Image。通常用以傳輸檔案。
- name="upload"
這檔案傳輸的名稱,用以識別之用。
- align="BOTTOM"
可選值:top, middle, bottom, left, right, texttop, baseline, absmiddle。
- size="20"
所顯示文字盒的長度。
- maxlength="100"
可輸入字元的上限。
- accept="text/html"
所接受的檔案類別,有二十六種選擇,但可不設定。
例子:
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
<type="File" name="upload" size="30" maxlength="100" accept="text/html">
</form>
|
顯示結果 |
|
輸入方式八: Hidden
例如:<input type="Hidden" name="ID" value="6618">
- type="Hidden"
輸入方式為隱藏或內定。它不會顯示任何輸入介面,而是一個內定值隨表單一起
傳給 CGI,列如由 CGI 產生的會員號碼,或傳入可更改的參數以調整 CGI 而避免
修改 CGI 程式碼。
- name="ID"
這檔案傳輸的名稱,用以識別之用。
- value="6618"
內定值,會以如 ID=6618 形式傳給 CGI。
例子: ("Hidden" 是不被顯示的,所以這處多放了一個 "Submit" 鍵,表示 Hidden 之內定
值會隨 submit 鍵被按而傳給 CGI)
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
<input type="Hidden" name="ID" value="6618">
<input type="Submit" value="Submit">
</form>
|
顯示結果 |
|
輸入方式九: Button
例如:<input type="Button" name="useless" value="Back">
- type="Button"
輸入方式為一般按鍵。常配合 Java Script 作為其啟動按鍵。
- name="useless"
這檔案傳輸的名稱,用處不大。
- value="Back"
按鍵顯示名稱。
例子: 其中 onclick="history.go( -1 );return true; 屬 JAVA 事件。
原始碼 |
<form>
<input type="Button" value="回前一頁" onclick="history.go( -1 );return true;">
</form>
|
顯示結果 |
|
|
|
<SELECT>是捲動選單標記,每一選項皆由 <OPTION> 所標示,把它當作圍堵標記或空標
記使用都可以。
<SELECT> 的參數設定(常用):
例如: <select name="where" size="6" multiple>
- name="where"
這捲動選單的名稱,作識別之用,將會傳及 CGI。
- size="6"
這捲動選單的列數,即其高度,請自行修改。若使用此參數則不會有 Pop Up 效
果。
- multiple
令這捲動選單容許多重選擇。
<OPTION> 的參數設定(常用):
例如: <option value="tw" selected>
- value="tw"
這選項的值,將會傳及 CGI。請自行修改,但不同選項必須有不同的值。
- selected
設該選項為內定被選。一個單選捲動選單只能有一項或零可內定被選。
例子一: (普通 POP UP 捲動選單)
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
Where you com from?
<select name="where">
<option value="hk">Hong Kong</option>
<option value="tw" selected>Taiwan</option>
<option value="cn">China</option>
<option value="us">United States</option>
<option value="ca">Canada</option>
</select>
</form>
|
顯示結果 |
|
例子二: (容許多重選擇 的捲動選單)
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
Where you com from?
<select name="where" multiple>
<option value="hk">Hong Kong</option>
<option value="tw" selected>Taiwan</option>
<option value="cn">China</option>
<option value="us">United States</option>
<option value="ca">Canada</option>
</select>
</form>
|
顯示結果 |
|
例子三:(設定了 Size 的捲動選單)
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
Where you com from?
<select name="where" size="5">
<option value="hk">Hong Kong</option>
<option value="tw" selected>Taiwan</option>
<option value="cn">China</option>
<option value="us">United States</option>
<option value="ca">Canada</option>
</select>
</form>
|
顯示結果 |
|
|
|
<TEXTAREA>是表單文字區塊標記,常用於 bug report, feedback 等需要填寫大量資料的用
途。
<TEXTAREA> 的參數設定(常用):
例如: <textarea name="comments" cols="40" rows="4" wrap="VIRTUAL">
- name="comments"
這文字區塊的名稱,作識別之用,將會傳及 CGI。
- cols="40"
這文字區塊的寬度,請自行修改。
- rows="4"
這文字區塊的列數,即其高度,請自行修改。
- wrap="VIRTUAL"
設定其折行問題,可選值為: off, physical, virtual。off 表示不使用此屬性,physical
時則會強迫劉覽器在送資料到 CGI(Web 伺服器端)必須將實際文字中的換行一
併送出,設為 virtual 時則送出連續成串的字(除非使用者按了鍵盤的 RETURN / ENTER)。
例子:
原始碼 |
<form action="http://your.isp.com/cgi-local/example.cgi" method="POST">
Give comments:
<textarea name="comments" cols="40" rows="4" wrap="VIRTUAL">
這是預設的字句,通常留空的,隨你喜歡。</textarea>
</form>
|
顯示結果 |
|
|
|
|