任務5-form表單的用法

1.form表單有什么作用?有哪些常用的input 標簽,分別有什么作用?

HTML 表單用于接收不同類型的用戶輸入,用戶提交表單時向服務器傳輸數據,從而實現用戶與Web服務器的交互。
HTML表單是一個包含表單元素的區域, 表單使用<form> 標簽創建。表單能夠包含 input 元素,比如文本字段、復選框、單選框、提交按鈕等等。表單還可以包含menus、textarea、fieldset、legend 和 label 元素。
表單屬性
name:表單的名稱。
action:規定當提交表單時,向何處發送表單數據。action取值為:
第一,一個URL(絕對URL/相對URL),一般指向服務器端一個程序,程序接收到表單提交過來的數據(即表單元素值)作相應處理。
比如<form action="http://www.cnblogs.com/reg.ashx">,當用戶提交這個表單時,服務器將執行網址"http:/ /www.cnblogs.com/"上的名為“reg.ashx”的一般處理程序。

第二,使用mailto協議的URL地址,這樣會將表單內容以電子郵件的形式發送出去。這種情況比較少見的,因為它要求訪問者的計算機上安裝和正確設置好了郵件發送程序。
第三,空值,如果action為空或不寫,表示提交給當前頁面。

method:該屬性定義瀏覽器將表單中的數據提交給服務器處理程序的方式。關于method的取值,最常用的是get和post。
第一,使用get方式提交表單數據,Web瀏覽器會將各表單字段元素及其數據按照URL參數格式附在<form>標簽的action屬性所指定的URL地址后面發送給Web服務器;由于URL的長度限制,使用get方式傳送的數據量一般限制在1KB以下。

第二,使用post方式,瀏覽器會將表單數據作為HTTP請求體的一部分發送給服務器。一般來說,使用post方式傳送的數據量要比get方式傳遞的數據量大;根據HTML標準,如果處理表單的服務器程序不會改變服務器上存儲的數據,則應采用get方式(比如查詢),如果表單處理的結果會引起服務器上存儲的數據的變化,則應該采用post方式(比如增刪改操作)。

target:該屬性規定在何處顯示action屬性中指定的URL所返回的結果。取值有:
_blank(在新窗口中打開)
_self(在相同的框架中打開,默認值)
_parent(在父框架中打開)
_top(在整個窗口中打開)
framename(在指定的框架中打開)

title:設置網站訪問者的鼠標放在表單上的任意位置停留時,瀏覽器用小浮標顯示的文本。

enctype:規定在發送到服務器之前應該如何對表單數據進行編碼。
取值:
默認值為 "application/x-www-form-urlencoded",在發送到服務器之前,所有字符都會進行編碼(空格轉換為 "+" 加號,特殊符號轉換為 ASCII HEX 值);
“multipart/form-data”:不對字符編碼。在使用包含文件上傳控件的表單時,必須使用該值。

input標簽常用的有:
1)單行文本框<input type="text"/>

(input 的type 屬性的默認值就是"text")用例:<input type = “text” name=“名稱”/>
以下是單行文本框的主要屬性:
size:指定文本框的寬度,以字符個數為單位;在大多數瀏覽器中,文本框的缺省寬度是20個字符。
value:指定文本框的默認值,是在瀏覽器第一次顯示表單或者用戶單擊<input type="reset"/>按鈕之后在文本框中顯示的值。
maxlength:指定用戶輸入的最大字符長度。
readonly:只讀屬性,當設置readonly屬性后,文本框可以獲得焦點,但用戶不能改變文本框中的value。
disabled:禁用,當文本框被禁用時,不能獲得焦點,當然,用戶也不能改變文本框的值。并且在提交表單時,瀏覽器不會將該文本框的值發送給服務器。

2)密碼框<input type="password"/>

用例:<input type=“password” name=“名稱”/>
密碼字段中的字符會被掩碼(顯示為星號或原點)。

3)單選按鈕<input type="radio"/>

使用方式:使用name相同的一組單選按鈕,不同radio設定不同的value值,這樣通過取指定name的值就可以知道誰被選中了,不用單獨的判斷。單選按鈕的元素值由value屬性顯式設置,表單提交時,選中項的value和name被打包發送,不顯式設置value。
用例:

<input type=“radio” name=“gender” value=“male”/>
<input type=“radio” name=“gender” value=“female”/>
4)復選框<input type="checkbox"/>

使用復選按鈕組,即name相同的一組復選按鈕,復選按鈕表單元素的元素值由value屬性顯式設置,表達提交時,所有選中項的value和name被打包發送
不顯式設置value。復選框的checked屬性表示是否被默認選中,
<input type="checkbox" checked />或者
<input type="checkbox" checked="checked" />(推薦)
checked、readonly等這種一個可選值的屬性都可以省略屬性值。
用例:

<input type =“checkbox” name=“language” value=“java”/>
 <input type =“checkbox” name=“language” value=“c”/>
 <input type =“checkbox” name=“language” value=“JavaScript”/>
5)隱藏域<input type="hidden"/>

隱藏域通常用于向服務器提交不需要顯示給用戶的信息。
<input type=“hidden” name=“隱藏域”/>

6)提交按鈕<input type="submit"/>

當用戶單擊<inputt type="submit"/>的提交按鈕時,表單數據會提交給<form>標簽的action屬性所指定的服務器處理程序。中文IE下默認按鈕文本為“提交查詢”,可以設置value屬性修改按鈕的顯示文本?!?br> 用例:<input type="submit" value="提交"/>

7)重置按鈕<input type="reset"/>

當用戶單擊<input type="reset"/>按鈕時,表單中的值被重置為初始值。在用戶提交表單時,重置按鈕的name和value不會提交給服務器。
用例:<input type=“reset” value=“重置按鈕"/>

8)普通按鈕<input type="button"/>

普通按鈕通常用于單擊執行一段腳本代碼。
用例:<input type="button" value="普通按鈕"/>

8)圖像按鈕<input type="image"/>

圖像按鈕的src屬性指定圖像源文件,它沒有value屬性。圖像按鈕可代替<input type="submit"/>,而現在也可以通過css直接將<input type="submit"/>按鈕的外觀設置為一幅圖片。
用例:<input type="image" src="bg.jpg" />

9)文件上傳<input type="file"/>

使用file,則form的enctype必須設置為multipart/form-data,method屬性為POST。
用例:

<input name="uploadedFile" id="uploadedFile" type="file" size="60" accept="text/*"/>
文件上傳用例
10)其它標簽

多行文本<textarea></textarea>
多行文本<textarea>創建一個可輸入多行文本的文本框,<textarea>沒有value屬性,<textarea>文本</textarea>,cols=“50”、rows=“15”屬性表示行數和列數,不指定則瀏覽器采取默認顯示。
用例:

1 <textarea name=“textareaContent” rows=“ 10“ cols=“40” >
2  多行文本框的初始顯示內容 
3 </textarea>
多行文本用例

下拉選擇框
下拉選擇框允許你在一個有限的空間設置多種選項。
代碼格式:
<select name="..." size="..." multiple>
<option value="..." selected>...</option>
  ...  
</select>  
屬性解釋:
size屬性定義下拉選擇框的行數;  
name屬性定義下拉選擇框的名稱;  
multiple屬性表示可以多選,如果不設置本屬性,那么只能單選;  
value屬性定義選擇項的值;  
selected屬性表示默認已經選擇本選項。

<select name="mySelt" size="1" >
<option value="1" selected>baidu.com</option>
<option value="2">sina.com</option>
<option value="3">sohu.com</option>
</select>
下拉文本框

<label></label>標簽
label 元素不會向用戶呈現任何特殊效果。不過,它為鼠標用戶改進了可用性。如果您在 label 元素內點擊文本,就會觸發此控件。就是說,當用戶選擇該標簽時,瀏覽器就會自動將焦點轉到和標簽相關的表單控件上。
<label> 標簽的 for 屬性應當與相關元素的 id 屬性相同。
<label></label>標簽對<input type="radio"/>和<input type="checkbox"/>這兩個標簽是非常有用的。

<input type="radio" name="sex" id="male" value="0" checked="checked" />
<label for="male">男</lable>
<input type="radio" name="sex" id="fmale" value="1" />
<label for="fmale">女</label>
<input type="radio" name="sex" id="secret" value="2" />
<label for="secret">保密</label>

2.post 和 get 方式的區別?

FORM中的get post方法區別Form中的get和post方法,在數據傳輸過程中分別對應了HTTP協議中的GET和POST方法。二者主要區別如下:
1)Get是用來從服務器上獲得數據,而Post是用來向服務器上傳遞數據。
2) Get將表單中數據的按照variable=value的形式,添加到action所指向的URL后面,并且兩者使用“?”連接,而各個變量之間使用 “&”連接;Post是將表單中的數據放在form的數據體中,按照變量和值相對應的方式,傳遞到action所指向URL。
3) Get是不安全的,因為在傳輸過程,數據被放在請求的URL中,而如今現有的很多服務器、代理服務器或者用戶代理都會將請求URL記錄到日志文件中,然后 放在某個地方,這樣就可能會有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數據,一些系統內部消息將會一同顯示在用戶面前。 Post的所有操作對用戶來說都是不可見的。
4)Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post(當然還有一個原因,將在后面的提到)。
5)Get限制Form表單的數據集的值必須為ASCII字符;而Post支持整個ISO10646字符集。
6)Get是Form的默認方法。

3.在input里,name 有什么作用?

name 定義input的名稱屬性,作為可與服務器交互數據的input元素的服務器端的標示。
注意和id屬性的區別:name屬性是和服務器通信時使用的名稱;而id屬性是瀏覽器端使用的名稱,該屬性主要是為了方便客戶端編程,而在css和JavaScript中使用的。

4.radio 如何 分組?

使用name相同的一組單選按鈕,不同radio設定不同的value值,這樣通過取指定name的值就可以知道誰被選中了,不用單獨的判斷。

5.placeholder 屬性有什么作用?

HTML5新增的另一個屬性,當input或者textarea設置了該屬性后,該值的內容將作為灰字提示顯示在文本框中,當文本框獲得焦點時,提示文字消失。
例:<inputid="t1"type="text"placeholder="請輸入文字"/>

placeholder屬性

6.type=hidden隱藏域有什么作用? 舉例說明

隱藏域在頁面中對于用戶是不可見的。它有兩個作用:
1)暫存信息,(用戶看不到),便于設計者隨時調用程序。
2)用于安全性校驗,例如通過設置hidden隱藏域,服務器可以驗證用戶權 限,避免偽造的假網站提交數據。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,182評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,489評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,290評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,776評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,510評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,866評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,860評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,036評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,585評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,331評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,536評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,058評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,754評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,154評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,469評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,273評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,505評論 2 379

推薦閱讀更多精彩內容

  • ??JavaScript 最初的一個應用,就是分擔服務器處理表單的責任,打破處處依賴服務器的局面。 ??盡管目前的...
    霜天曉閱讀 678評論 0 3
  • 表單基礎知識 在HTML中,表單是由 元素來表示的,而在JS中,表單對應的則是HTMLFormElement類型。...
    oWSQo閱讀 918評論 0 1
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,826評論 18 139
  • 本人做php的,最近發現JS真的是博大精深啊,比PHP難.在HTML中,表單是由form元素來表示的,但是在jav...
    linfree閱讀 2,194評論 3 17
  • 如題,希望我能堅持。 為自己加油。
    努力向上的rourou閱讀 162評論 0 0