过期域名预定抢注

 找回密碼
 免费注册

XHTML與CSS入門經典 從零開始系列教程!

[複製鏈接]
 樓主| 發表於 2007-8-25 17:38:38 | 顯示全部樓層
10、表單form ──文本框和其他由用戶輸入的構件
; ^- b- b3 n$ D# n8 ^8 y6 Y* C1 ^: l( I5 q
表單可以用來在網頁中發送數據,特別是經常被用在聯繫表單——用戶輸入信息然後發送到Email中。
: P! h; \8 R6 m, I/ c( o; L" w/ O& U+ x8 U
. s' l8 l/ D" ^+ b表單本身是沒有什麼用的。這需要編一個程序來處理輸入表單中的數據。這也超出了本站指南的範圍。如果使用網絡服務器來放置HTML,你能夠自助地找到一些簡單的教程,開發一個服務器端的程序使一個發送到Email的表單工作。( Z: _5 a5 ]( t
3 d6 c+ _  O8 x
實際用在HTML中的標籤有form、 input、 textarea、 select和option。+ S# d# }" M* N; V* y% I: r

# L+ H- W5 C+ ]6 F9 q* Q1 T1 U表單標籤form定義的表單裡頭,必須有行為屬性action,它告訴表單當提交的時候將內容發往何處。
2 [) i) I' c7 e7 Z+ W- s) I
$ g' Q3 W/ }7 B7 |( P9 g可選的方法屬性method告訴表單數據將怎樣發送,有get(默認的)和post兩個值。常用到的是設置post值,它可以隱藏信息(get的信息會暴露在URL中)。
. @% [/ A8 J' |" \4 R% r5 K0 B9 Y; e, t3 e3 L. q
所以一個表單元素看起來是這樣子的:0 L( k2 u; V2 [, d0 c! h0 E
$ D! F! P+ n9 X

. P2 x  h$ Q9 E/ L+ m6 I% w' ]4 o2 }
2 @# |, ~2 _; A- i2 n% C3 i Example Source Code [www.cn-webmaster.cn]
3 U  ?) \, H7 Y3 t% n<form action="processingscript.php" method="post"> </form># U: s1 ~! Y$ F# O: U$ T8 D
, T5 X$ `, m( |9 e* t3 g8 _* \& z
input標籤是表單世界中的「老大」。有10種形式,概括如下:& L4 L2 x. T/ v

* C/ K9 u, n2 B8 \" W■ <input type="text" />是標準的文本框。它可以有一個值屬性value,用來設置文本框裡的默認文本。 ! L, Y# H2 R# F! X% K
■ <input type="password" /> 像文本框一樣,但是會以星號代替用戶所輸入的實際字符。 , y$ \" y' G( L& D9 u* d
■ <input type="checkbox" />是復選框,用戶可以快速的選擇或者不選一個條目。它可以有一個預選屬性checked,像這樣的格式<input type="checkbox" checked="checked" />. ! N7 S- |; k) n1 T( d! q& O* S& B
■ <input type="radio" /> 與復選框相似,但是用戶只可在一個組中選擇一個單選按鈕。它也有一個預選屬性checked,使用方法跟復選框一樣。
4 V  `/ ^3 U, {& E7 x  A- w■ <input type="file" /> 是展示你電腦上的文件的一個區域,就像你在一個軟件中打開或者保存一個文檔一樣。 / t( r4 `( c# \/ f6 J; j9 n
■ <input type="submit" /> 是一個被點擊後提交表單的按鈕。你可以用值屬性value來控制按鈕上顯示的文本(下面的button和reset類型也可以這樣,稍後介紹),如下: <input type="submit" value="Ooo. Look. Text on a button. Wow" />. ) a  I' t! f0 U7 I2 e
■ <input type="image" />以圖像代替按鈕文本,src屬性是必須的,像img標籤一樣。 % \$ W" L. S( i2 v
■ <input type="button" />是一個如果沒有其他代碼的話什麼都不做的按鈕。 % m- B% b* C# G
■ <input type="reset" /> 是一個點擊後會重置表單內容的按鈕。 4 |8 W* c8 q4 F2 E
■ <input type="hidden" /> 不會顯示任何東西,它用來傳輸諸如用戶正在用的頁面的名字或者Email地址等表單必須傳輸的東西。
' o" `0 j9 U; ^) s0 P注意輸入標籤input也是用「/>」自關閉的。" s$ N: Q2 a0 c; y! X$ ~
8 E; Q" q! F1 g1 F8 T7 L  o+ g0 w
多行文本輸入框標籤textarea基本上就是一個比較大的文本框。它必須有行屬性rows和列屬性cols,用法像這樣:
( ]8 _! u0 B' `# M4 ~* w  M  s1 O2 E4 L0 ^/ k

, u: Z( X7 ^5 A( I! z Example Source Code [www.cn-webmaster.cn]" n1 o9 y) d. ]4 E  l! i8 h
<textarea rows="5" cols="20">A big load of text here</textarea>
1 Y! p6 [1 t, p0 Q% ^7 T6 T) Y  O% Q$ ~+ l1 V
選定標籤select與選項標籤option一起可以製作一個下拉選框。是這樣工作的:
; P! Z' U: A! X' B5 `# n
/ w1 v. R* C, x$ I5 R: R6 `) `( M% {' H: S- `! k" C& x8 W
Example Source Code [www.52css.com]
' |, D9 u: X! \<select>
- A" S6 t7 L% |1 E* e<option value="first option">Option 1</option>
. P% }9 l' Z! Q+ H" F<option value="second option">Option 2</option>" |) g" H5 V( X
<option value="third option">Option 3</option>
' @, x9 b3 T) S3 T% [- b+ U</select> : g$ c4 z7 _" v% @' ?
/ u* g7 t, `3 ~7 J4 s% U7 n
當表單被提交時,被選中選項的值將被發送。
7 X' ]0 e) z; F' @9 q# Z
+ W: ]; O! i4 c3 o0 P與復選框和單選按鈕的預選屬性checked一樣,選項標籤option也有一個預選屬性selected,它可以用在這樣的格式中:<option value="mouse" selected="selected">Rodent</option>。& |+ `* K3 k$ ?) R: l9 h* y; b

# G$ V# S! N# d. M0 Y上述的標籤中在網頁中看起來都不錯,但是,如果你有一個程序來處理這個表單,這些標籤都不起作用。這是因為,表單字段需要名稱。所以所有的字段中都需要增加名稱屬性name,比如 <input type="text" name="talkingsponge" />。
. W; u5 _+ b/ T$ D) f9 t2 K6 Q) I; }. U, O# Y% O+ T2 ]
一個表單看起來應該像下面這樣(注意:這個表單不會工作,除非有一個用來提交數據的「contactus.php」的文件,它位於表單標籤form的行為屬性action中。)% G3 L) j9 e% M' A; _. _5 M

. J+ a% v& b6 F8 g, @0 y2 ^0 [7 i, `% x
Example Source Code [www.cn-webmaster.cn]
- V9 E# B0 L# |. q0 O1 S& D<form action="contactus.php" method="post">. r' V0 z; q$ P& x" k
<p>Name:</p>
  ]  x. L: k# K& O3 f% i3 E<p><input type="text" name="name" value="Your name" /></p>
0 h1 U, M# f+ I0 T2 b9 v<p>Comments: </p>- s) g0 \4 J0 Y: J9 ^  p5 `
<p><textarea name="comments" rows="5" cols="20">Your comments</textarea></p>
4 p2 F0 j6 b6 |0 s1 l<p>Are you:</p>
7 O" s3 n# V! w0 D* q  J) }<p><input type="radio" name="areyou" value="male" /> Male</p>
( h% ^' g2 W4 l) j& k/ D, [9 l, L<p><input type="radio" name="areyou" value="female" /> Female</p>
. x) n5 v, X- Q( S. y' Z<p><input type="radio" name="areyou" value="hermaphrodite" /> An hermaphrodite</p>5 b, L4 ^$ v9 I, j9 i8 z: L
<p><input type="radio" name="areyou" value="asexual" checked="checked" /> Asexual</p>; V9 Z' g& k$ V" v0 m
<p><input type="submit" /></p> <p><input type="reset" /></p>: {7 V7 d7 f& q& [5 P2 K
</form>
" b  O- y# `% s4 A& O4 g
& x6 r7 F: J# W, E0 o/ Q  [: ^在HTML高級教程中還有更複雜的高階水平教程等著你,如果你想進一步瞭解和學習.
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2007-8-25 17:39:15 | 顯示全部樓層
11、綜合應用__把上面所有的要素堆積起來6 i& C  _) X4 w5 p; O

; N6 o! |: |- Y如果你業已全部瀏覽HTML初級指南的全部頁面,學習完畢初級指南,你事實上已經是一個能幹的HTMLer了。
/ b; S$ s1 Q3 k7 ]# D8 b4 _
$ Y) U/ r1 n6 P; N. z( z實際上,基於許多人編寫HTML都相當差勁的事實,你應該做得比他們更好。
! i4 l& `% x; P$ C0 H- k6 Q
3 S- L# O: a5 D下面的代碼把前面所教授的綜合在一起了:! @, Z) z7 `6 |+ i; Y7 d5 b$ h
) W8 c4 D, g5 T: y# J9 |$ T

! o( @2 [  m/ P2 B0 b% z+ O( M% a9 v
Example Source Code [www.cn-webmaster.cn]
- T/ V+ V# x, z- ^<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
9 s  S; n6 P) \0 [7 S5 z"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">8 v2 Q) D5 S; S2 I! Z4 O
<html>4 Q3 w4 O7 {, O: p
<head>, I$ ?' \, g, @! S
<title>我的第一個網頁</title>
8 j5 F' ]! f6 U6 f& f! R<!-- 順便說一下,這是註釋 -->$ Z  |! b/ O, J8 q" R1 W+ o
</head>& G6 V8 R( {. D$ f+ W& I& W
<body>
( \; u5 C+ Z' B! u2 ^. r0 `1 u<h1>我的第一個網頁</h1>$ s9 F* P- L8 |4 a, O+ K
<h2>這是什麼</h2>* d$ Z$ k! L7 x: y, E) ^1 H
<p>用HTML組合起來的簡單網頁。 <strong>A用HTML組合起來的簡單網頁。</strong> 用HTML組合起來的簡單網頁。用HTML組合起來的簡單網頁。用HTML組合起來的簡單網頁。用HTML組合起來的簡單網頁。用HTML組合起來的簡單網頁。用HTML組合起來的簡單網頁。用HTML組合起來的簡單網頁。用HTML組合起來的簡單網頁。</p>
  o* _% ?2 C' o: J, C3 S<h2>目的</h2>$ S+ F5 V, o3 l+ c4 F. b3 |/ K
<ul>- n: w" ^; i* l. z
<li>學習HTML</li>% P% C6 g9 L7 Y* M5 q+ Y7 ?$ ~4 J
<li> 顯擺,炫耀
- R3 }3 d5 X# _5 ?  <ol>
$ b1 X, s% Z( h. }+ @' I: M <li>向老闆</li>
+ [' y( ]$ S$ J+ ?9 C <li>向朋友</li>
1 Z& u: `, ^, I( n: D$ V% L$ g <li>向我的小貓</li>3 R" a8 \2 L( }9 r2 l+ N
<li>給我腦中多嘴的小鴨子</li>" F! n3 F" O% H! J9 U/ Y( F* [
</ol></li>
- W+ h6 s7 o: B1 i1 [/ O8 m8 k<li>因為我已經愛上了我的電腦,我想給她點HTML愛情調料。</li>! H1 n4 ^! M6 @! \' D1 v# e7 v
</ul>
) `8 R. X" x) M6 Q+ \<h2>在哪裡可以找到教程</h2>
* c9 v# \1 ~, e$ q<p><a href="http://www.google.com"><img src="http://www.google.com/intl/zh-CN_ALL/images/logo.gif" width="88" height="31" alt="Neo1 logo" /></a></p>
' ]4 I4 E2 G2 O; o* f<h2>一些隨意的表單</h2>
5 y: V# L: _" U. c8 a<table border="1">- [+ C! D4 y# y; U; c
<tr>
' Q3 Q4 i, l  B# |' X4 ~% M<td>Row 1, cell 1</td>
/ _2 o1 Q- G$ d3 s8 G<td>Row 1, cell 2</td>3 N/ r8 e7 e0 X4 Q- p
<td>Row 1, cell 3</td>
' p% v0 j3 x$ L$ v( G</tr>" o$ u" H$ ~2 c- y* o; \/ \# y8 T+ b
<tr>
$ \$ ~+ u9 |* J4 G! ^# ]<td>Row 2, cell 1</td>$ z( f6 s) j- h: O1 f' M
<td>Row 2, cell 2</td>
7 V6 Q" ~8 }* ]* f- x! n0 i<td>Row 2, cell 3</td>
/ M0 l+ H9 N7 h  y$ B# J8 B</tr>% D2 b& X6 B: d# g5 O2 l: {
<tr>5 Q6 E( W+ G5 Y0 b+ X. ]3 U
<td>Row 3, cell 1</td>/ Q5 ?; ]) K" V% v! A
<td>Row 3, cell 2</td>
1 r6 v. F7 ]6 a9 G1 Q$ A<td>Row 3, cell 3</td>
4 i  }6 n! \8 z1 k</tr>2 F( m! t1 j! H  B0 F) ]
<tr>
' F, b/ ~" U4 E) E* ~) D/ k<td>Row 4, cell 1</td>& H% g0 N1 K5 x6 }2 s+ r7 o# Z
<td>Row 4, cell 2</td>
1 ]# ]: _! I# b" e<td>Row 4, cell 3</td>) s2 m) s% |0 O! [5 Q# t" `9 t+ E
</tr>
8 T2 v2 }- ^! q, d</table>+ n+ p) r: }" L6 L' s( a; E
<h2>一些隨意的表單</h2>9 M; w3 k# T/ K
<p><strong>注意:</strong> 看起來似乎很重要的部分,但實際上什麼都不做</p>
( J9 g( C6 c* W6 W2 u* }7 }; v<form action="somescript.php" method="post">0 F5 `( o+ ?, c) x
<p>名字:</p>
; }3 J1 ]3 [8 |5 R4 O  Z<p><input type="text" name="name" value="你的名字" /></p>
/ |/ `2 ?& E. q<p>評論:</p>
9 f9 i3 F5 v* R$ O4 V7 s7 v; D<p><textarea rows="10" cols="20" name="comments">在這裡寫下你的評論</textarea></p>
/ R( u4 S0 ~, T6 ]  ^  m  a<p>你是:</p>0 G: q. U( Q9 C. k  R
<p><input type="radio" name="areyou" value="male" /> 男性</p>; L6 b1 F9 q, y
<p><input type="radio" name="areyou" value="female" /> 女性</p>; }0 v2 z  P- z) t+ g
<p><input type="radio" name="areyou" value="hermaphrodite" /> 雙性</p>; W6 z2 n$ F. G7 Y: I
<p><input type="radio" name="areyou" value="asexual" checked="checked" /> 無性</p>
' Q+ E1 C  x. E2 f) Y+ F9 |<p><input type="submit" /></p> <p><input type="reset" /></p>9 F( }0 f) ~2 I! `* ?
</form>
* ~  e! _$ B( y5 v</body>
" q6 w! y& Z6 J. ~" |9 O</html> ; C. [; M# D7 L* ~* c+ Z  D8 J
1 m  ?9 ], K+ Y) M3 t
就這樣。保存文件,然後在瀏覽器中查看──這是理解所有工作原理的最好方法。繼續吧!
( q  G' n$ I/ q$ N7 v1 P. A
9 C9 A: W+ X3 b! u感到滿意的話,你可以繼續學習CSS中級教程了。
回復 给力 爆菊

使用道具 舉報

發表於 2007-8-28 01:39:23 | 顯示全部樓層
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基

GMT+8, 2026-3-22 16:13

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表