HTML5之Form 表單應(yīng)用

一液斜、表單的作用

表單的作用是搜集用戶的輸入湿诊,用戶提交表單時向服務(wù)器傳輸數(shù)據(jù)矫膨,從而實現(xiàn)用戶與web服務(wù)器的交互差凹。

二、表單屬性

這個表單展示了form表單常用的屬性

屬性名 屬性值 描述
action 一個url地址 指定表單提交到的地址
method GET , POST 表單將以此種方法提交到服務(wù)器
target * _self 當前頁面 * _blank 每次在新窗口打開 * blank 每次在同一個新窗口打開 * _parent 父級frame * _top 頂級frame * iframename 指定的iframe 表單提交后豆拨,收到回復(fù)的頁面
name - 一個html文檔中直奋,每個form的name應(yīng)該是唯一的
enctype * application/x-www-form-urlencoded 默認值 * multipart/form-data 上傳file用 * text/plain html5默認 以 POST 方式提交form時的MIME類型。文件上傳必須使用 multipart/form-data
autocomplete on , off 是否自動完成表單字段
autocapitalize * none 完全禁用自動首字母大寫 * sentences 自動對每句話首字母大寫 * words 自動對每個單詞首字母大寫 * characters 自動大寫所有的字母 iOS 專用屬性施禾,表單中文本域英文大小寫
accept-charset 字符編碼格式( utf-8 , gb-2312 等) 將會以此種編碼格式提交表單到服務(wù)器脚线,默認值是UNKONWN,即html文檔所采用的編碼格式弥搞。
novalidate true , false 是否啟用表單校驗

下面舉例的表單將會以 post 方式將input的值以 utf-8 編碼格式提交到 /login 接口邮绿,并會打開一個新頁面顯示返回結(jié)果,由于 target="blank" 攀例,所以就算提交多次該表單船逮,都只會繼續(xù)刷新之前打開的窗口。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
</head>
<body>
  <form action="/login" method="post" target="blank" >
    <input type="text" name='username'>
    <button>提交</button>
  </form>
</body>
</html>

三粤铭、表單元素

1. 常見表單元素

常見的表單元素包括 input , select , textarea , button , progress 等挖胃,這些元素都有一些自己的屬性

2. 表單元素的屬性

屬性 屬性值 描述
type(必須) * text 單行文本框 * raido 單選框 * checkbox 多選框 * tel 電話號碼輸入框 * range 滑塊取值框 ... ... 更多 指定input標簽展示的樣式,忽略type屬性將默認使用 text
name(必須) 字符串 form提交時,該字段的key酱鸭,忽略value屬性的元素將不會被提交
checked(狀態(tài)) 任意值 或 忽略該屬性 有此屬性的radio和checkbox元素將被選中吗垮,同一name多個元素具有此屬性的,提交時取最后一個值
selected(狀態(tài)) 任意值 或 忽略該屬性 有此屬性的option元素將被選中凹髓,同一name多個元素具有此屬性的烁登,提交時取最后一
readonly(狀態(tài)) 任意值 或 忽略該屬性 具有該屬性的表單元素將不可輸入或改變狀態(tài),除非用JavaScript操作
disabled(狀態(tài)) 任意值 或 忽略該屬性 除擁有readonly的特征外蔚舀,表單提交時饵沧,將忽略此字段
form(限制) 表單id 該元素將作為指定id表單字段被提交。用于 button 或 input type='submit' 元素時赌躺,將提交指定id的表單
accept(限制) * image/* 只能上傳圖片 * video/* 只能上傳視頻 input type='file' 使用的屬性狼牺,是一個MIME類型的值,或文件后綴名
multiple(限制) 任意值 或 忽略該屬性 input type='file' 或 select 或 應(yīng)用了 datalist 的表單元素才能應(yīng)用該屬性
maxlength(限制) 正整數(shù)或0 文本域可輸入字符的長度礼患,浮點數(shù)將會向下取整锁右,負數(shù)將被忽略,JavaScript可以繞過這一限制
required(限制) 任意值 或 忽略該屬性 該表單字段是否需要被驗證
pattern 一個正則表達式 \d{4,6} 形式的正則表達式讶泰,作為required校驗規(guī)則
autocomplete(限制) on , off 同form的autocomplete屬性咏瑟,在表單元素上應(yīng)用,優(yōu)先級將高于form上指定的
autofocus(限制) 任意值 或 忽略該屬性 頁面加載時痪署,該元素自動聚焦码泞,應(yīng)用于多個表單元素時,聚焦到第一個
placeholder(展示) 字符串 在元素沒有value時狼犯,用于占位顯示
value(展示) 字符串 或 數(shù)值 input 或 progress 展示的值,其中: * checkbox和radio的默認值是 'on' * range和progress的默認值是 0 * progress的是0的時候會播放循環(huán)動畫

3.表單元素用法

  • form示例
    點擊預(yù)覽按鈕余寥,將會把 username1 的值提交到 /preview,
    點擊發(fā)布按鈕悯森,將會把 username 的值提交給 /publish
<form action="/preview" name='preview' id='preview'></form>

<form action="/publish" name='publish' id='publish'>
  <input type="text" name='username' value='1'>
  <input type="text" form='preview' name='username1' value='2'>
  <button form='preview'>預(yù)覽</button>
  <button>發(fā)布</button>
</form>
  • accept示例
<input type="file" accept=".doc,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document">
  • multiple示例

datalist 需要鍵入 ',' 方可多選(需瀏覽器支持)

<label>Cc: <input type=email multiple name=cc list=contacts></label>
<datalist id="contacts">
 <option value="hedral@damowmow.com">
 <option value="pillar@example.com">
 <option value="astrophy@cute.example">
 <option value="astronomy@science.example.org">
</datalist>

select 需要一直按下ctrl鍵才可多選

<select name='number' multiple>
  <option value="CN">中國</option>
  <option value="US">美國</option>
  <option value="UK">英國</option>
</select>

input 直接框選多文件即可

<input type="file" multiple>
  • value示例
<progress value='70' max='100'></progress>
<input type="range" value='40' max='100'>
<input type="text" value='hello world'>
  • type示例
    文本框
<input type = “text” name=“名稱”/>//單行文本
<textarea cols="30" rows="10"></textarea>//多行文本

密碼框

<input type=“password” name=“名稱”/>

單選框

<input type=“radio” name=“gender” value=“male”/> 
<input type=“radio”  name=“gender” value=“female”/>

復(fù)選框

<input type =“checkbox” name=“l(fā)anguage” value=“Java”/> 
<input type =“checkbox”  name=“l(fā)anguage” value=“C”/>
<input type =“checkbox” name=“l(fā)anguage” value=“C#”/>

隱藏域
隱藏域通常用于向服務(wù)器提交不需要顯示給用戶的信息

<input type=“hidden” name=“隱藏域”/>

文件上傳

使用file宋舷,則form的enctype必須設(shè)置為multipart/form-data,method屬性為POST瓢姻。

<input name="uploadedFile" id="uploadedFile" type="file" size="60" accept="text/*"/>

下拉列表

selected默認為選擇項

<select name="country" size="10">
    <option value="gam">Gambia</option>
    <option value="mad" selected>Madagascar</option>
    <option value="nam">Namibia</option>
</select>

<label></label>標簽

在<input type=“text”>前可以寫普通的文本來修飾祝蝠,但是單擊修飾文本的時候input并不會得到焦點,而用label則可以幻碱,for屬性指定要修飾的控件的id绎狭,<label for=“txt1” >內(nèi)容</label>;
提交按鈕

<input type="submit" value="提交"/>

重置按鈕

<input type=“reset” value=“重置按鈕"/>

普通按鈕

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

圖像按鈕

圖像按鈕的src屬性指定圖像源文件褥傍,它沒有value屬性儡嘶。圖像按鈕可代替<input type="submit"/>,而現(xiàn)在也可以通過css直接將<input type="submit"/>按鈕的外觀設(shè)置為一幅圖片恍风。

<input type="image" src="bg.jpg" />

  • 常識

沒有 name 和有 disable 的字段不會被提交
同一個表單中蹦狂,相同name的字段值會發(fā)生覆蓋誓篱,radio 和 checkbox 除外
在低版本瀏覽器中,name可以作為id使用
忽略或使用瀏覽器不支持的 type 會轉(zhuǎn)為 type=text
低版本瀏覽器不支持動態(tài)改變 type
點擊 button 會默認提交表單
低版本瀏覽器需要指定 button 的 type=submit 才會提交表單
文本域的光標顏色由字體顏色決定
form表單不能互相嵌套
表單元素可以不在表單的html結(jié)構(gòu)內(nèi)

參考:https://segmentfault.com/a/1190000005803696

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凯楔,一起剝皮案震驚了整個濱河市燕鸽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌啼辣,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件御滩,死亡現(xiàn)場離奇詭異鸥拧,居然都是意外死亡,警方通過查閱死者的電腦和手機削解,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門富弦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人氛驮,你說我怎么就攤上這事腕柜。” “怎么了矫废?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵盏缤,是天一觀的道長。 經(jīng)常有香客問我蓖扑,道長唉铜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任律杠,我火速辦了婚禮潭流,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柜去。我一直安慰自己灰嫉,他們只是感情好,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布嗓奢。 她就那樣靜靜地躺著讼撒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪股耽。 梳的紋絲不亂的頭發(fā)上椿肩,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音豺谈,去河邊找鬼郑象。 笑死,一個胖子當著我的面吹牛茬末,可吹牛的內(nèi)容都是我干的厂榛。 我是一名探鬼主播盖矫,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼击奶!你這毒婦竟也來了辈双?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤柜砾,失蹤者是張志新(化名)和其女友劉穎湃望,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痰驱,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡证芭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了担映。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片废士。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蝇完,靈堂內(nèi)的尸體忽然破棺而出官硝,到底是詐尸還是另有隱情,我是刑警寧澤短蜕,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布氢架,位于F島的核電站,受9級特大地震影響朋魔,放射性物質(zhì)發(fā)生泄漏达箍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一铺厨、第九天 我趴在偏房一處隱蔽的房頂上張望缎玫。 院中可真熱鬧,春花似錦解滓、人聲如沸赃磨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卵佛。三九已至悔橄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屑咳,已是汗流浹背害驹。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工而柑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留移国,地道東北人吱瘩。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像迹缀,于是被迫代替她去往敵國和親使碾。 傳聞我的和親對象是個殘疾皇子蜜徽,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)票摇,斷路器拘鞋,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • 本人做php的,最近發(fā)現(xiàn)JS真的是博大精深啊,比PHP難.在HTML中,表單是由form元素來表示的矢门,但是在jav...
    linfree閱讀 2,139評論 3 17
  • 表單基礎(chǔ)知識 在HTML中盆色,表單是由 元素來表示的,而在JS中祟剔,表單對應(yīng)的則是HTMLFormElement類型隔躲。...
    oWSQo閱讀 904評論 0 1
  • 伴侶之間的很多爭吵都跟金錢有關(guān)。 每個人考慮和處理金錢的方式都是獨特的峡扩,那么接下來帶大家了解一下5種金錢人格。 省...
    西門不吹雪斯基閱讀 920評論 0 0
  • 《歡樂頌2》熱播中障本,又被五美霸屏了呢教届。我們活著更多時候在于經(jīng)歷體驗,三十歲前有大把的時間驾霜,無論感情...
    黎明時分的燕子閱讀 390評論 0 3