10、表單form ──文本框和其他由用戶輸入的構件
- ]- b" r! \9 p, }+ r
6 z, r$ v9 D6 L5 {( b! e表單可以用來在網頁中發送數據,特別是經常被用在聯繫表單——用戶輸入信息然後發送到Email中。) ~% M1 F4 |, h0 @
e" n$ X9 n% H& ]5 i
表單本身是沒有什麼用的。這需要編一個程序來處理輸入表單中的數據。這也超出了本站指南的範圍。如果使用網絡服務器來放置HTML,你能夠自助地找到一些簡單的教程,開發一個服務器端的程序使一個發送到Email的表單工作。
) W4 w9 e, ], u5 Q3 C) {+ `& H
: a; {2 c S# Q實際用在HTML中的標籤有form、 input、 textarea、 select和option。
3 l4 b" x Y. \3 z8 ]3 ]: x- e( p
, a$ d+ C, U, }7 j' C* w( R表單標籤form定義的表單裡頭,必須有行為屬性action,它告訴表單當提交的時候將內容發往何處。0 O- F- g) t& G) }6 a* `, V* {
3 Q3 d6 o1 P+ |/ q% e# a7 ^可選的方法屬性method告訴表單數據將怎樣發送,有get(默認的)和post兩個值。常用到的是設置post值,它可以隱藏信息(get的信息會暴露在URL中)。( N/ P; ^. `* a7 M0 Z1 M" f4 {3 A2 L- g
D2 F& u' b& D! f/ a所以一個表單元素看起來是這樣子的:# G, A6 g4 z& w" `/ p" S- H
" Y* I" D& V7 g( s' i' k
6 G4 E8 b. b5 x: o& |; n9 w$ k5 |& [5 a! z, y4 S
Example Source Code [www.cn-webmaster.cn]/ X# x# K9 b- S
<form action="processingscript.php" method="post"> </form>7 q9 H; t3 {2 H. b
9 ?) B1 p2 W; o1 C- }! Sinput標籤是表單世界中的「老大」。有10種形式,概括如下:
% M* y, L8 Q+ o5 ~
) t- V3 L }1 r% I; {/ u5 b) F■ <input type="text" />是標準的文本框。它可以有一個值屬性value,用來設置文本框裡的默認文本。 6 r1 o1 V2 A7 i$ G' G7 G; k7 q
■ <input type="password" /> 像文本框一樣,但是會以星號代替用戶所輸入的實際字符。
2 L9 @, d' a5 T$ [# f- U% l■ <input type="checkbox" />是復選框,用戶可以快速的選擇或者不選一個條目。它可以有一個預選屬性checked,像這樣的格式<input type="checkbox" checked="checked" />.
) e8 g- I! c' Q/ B" p■ <input type="radio" /> 與復選框相似,但是用戶只可在一個組中選擇一個單選按鈕。它也有一個預選屬性checked,使用方法跟復選框一樣。
* `: R/ ]/ P% B* ~! E* X; {■ <input type="file" /> 是展示你電腦上的文件的一個區域,就像你在一個軟件中打開或者保存一個文檔一樣。
d) D/ N- U& k, j5 B4 x■ <input type="submit" /> 是一個被點擊後提交表單的按鈕。你可以用值屬性value來控制按鈕上顯示的文本(下面的button和reset類型也可以這樣,稍後介紹),如下: <input type="submit" value="Ooo. Look. Text on a button. Wow" />.
5 x( P& ]% ]8 j0 T■ <input type="image" />以圖像代替按鈕文本,src屬性是必須的,像img標籤一樣。
8 t$ ?+ r1 T4 Y) |& \■ <input type="button" />是一個如果沒有其他代碼的話什麼都不做的按鈕。 5 E7 U# Q k1 c
■ <input type="reset" /> 是一個點擊後會重置表單內容的按鈕。 ' G5 L& j3 H; k$ T! R
■ <input type="hidden" /> 不會顯示任何東西,它用來傳輸諸如用戶正在用的頁面的名字或者Email地址等表單必須傳輸的東西。 8 U& R. u" G: D, u1 C1 m
注意輸入標籤input也是用「/>」自關閉的。
& M' J; B2 L* T4 s0 _# t; _& w! a1 j# p
多行文本輸入框標籤textarea基本上就是一個比較大的文本框。它必須有行屬性rows和列屬性cols,用法像這樣:
2 r D" g4 |$ B" b4 T
8 ~# r7 a+ Q I$ F8 W, v) k, c* @+ u3 B
Example Source Code [www.cn-webmaster.cn]
, Q k( C& Q ^1 T O: K. c9 Z8 R9 T<textarea rows="5" cols="20">A big load of text here</textarea>
. f# O- |" f, T: ^9 c% U0 V! v# l$ g8 ~" e4 G. L
選定標籤select與選項標籤option一起可以製作一個下拉選框。是這樣工作的:
) U) o& E; d3 u) I. J8 @1 K
( W! L& @3 Q( C2 F F
h) |$ o* E, G& f* S2 @% K Example Source Code [www.52css.com]
5 E- ^# W3 `5 C: L: O! h7 ^<select>. I7 T' j- e: f$ A# `: a+ _" y
<option value="first option">Option 1</option>! N- k' H8 B; q
<option value="second option">Option 2</option>
+ ]; @3 n' w& u6 S, h4 W<option value="third option">Option 3</option>, M2 ]/ v6 b0 E$ N/ ], y
</select> 1 b- @+ ~, h2 h
( H7 f* G- t$ {- f2 Q當表單被提交時,被選中選項的值將被發送。
- k+ V z$ Y# W& l; t2 C
; {! i' G* ?5 X$ q與復選框和單選按鈕的預選屬性checked一樣,選項標籤option也有一個預選屬性selected,它可以用在這樣的格式中:<option value="mouse" selected="selected">Rodent</option>。6 C2 l8 p& N; R; D3 X5 b5 a
% b9 r$ f" [9 V" n& G% |; D
上述的標籤中在網頁中看起來都不錯,但是,如果你有一個程序來處理這個表單,這些標籤都不起作用。這是因為,表單字段需要名稱。所以所有的字段中都需要增加名稱屬性name,比如 <input type="text" name="talkingsponge" />。
2 S r! |! x- v2 o6 f; e4 T& E
6 q+ h2 p1 Z& A# E. }5 l+ J一個表單看起來應該像下面這樣(注意:這個表單不會工作,除非有一個用來提交數據的「contactus.php」的文件,它位於表單標籤form的行為屬性action中。)
) Y7 a( o) q5 ]4 L, E$ Y( g' U0 q6 v0 J" E
1 }4 J$ q7 ~) S/ l3 _ Example Source Code [www.cn-webmaster.cn]
2 ~0 e5 l0 F2 |1 l<form action="contactus.php" method="post">
1 T6 A: b9 J( s<p>Name:</p>
3 l: N' h, C0 m5 j0 z9 m4 P<p><input type="text" name="name" value="Your name" /></p>, ~# X8 T7 k& @+ A8 s& C" E' ]$ C
<p>Comments: </p>: s; m3 {# L- Z2 n* i( s* z
<p><textarea name="comments" rows="5" cols="20">Your comments</textarea></p>2 m6 C# {3 N. Q; e6 k
<p>Are you:</p>
0 S% ?7 S3 R$ K( e# m- Y<p><input type="radio" name="areyou" value="male" /> Male</p>* O& `/ |: h! ~3 [$ C) e
<p><input type="radio" name="areyou" value="female" /> Female</p>
4 @) `. W3 x3 k0 ~<p><input type="radio" name="areyou" value="hermaphrodite" /> An hermaphrodite</p>
* P, i. @7 k7 g: b<p><input type="radio" name="areyou" value="asexual" checked="checked" /> Asexual</p>' d! R& Z7 W0 X0 B
<p><input type="submit" /></p> <p><input type="reset" /></p>% X8 F1 p1 Y$ O3 \! y. f& J
</form>6 e" b# H" B% f" ?: a g+ e
% {& ^+ ?: Y+ p. B" |# P
在HTML高級教程中還有更複雜的高階水平教程等著你,如果你想進一步瞭解和學習. |