HTML表单

1. 什么是HTML表单

定义:用于搜集不同类型的用户输入。

2.HTML 表单包含表单元素

表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。

  • <input>元素有很多形态,根据不同的 type 属性。

  • 文本输入
    <input type="text">定义用于文本输入的单行输入字段

单选按钮输入
<input type="radio">定义单选按钮,允许用户在有限数量的选项中选择其中之一。

  • 提交按钮
<input type="submit">用于向表单处理程序(form-handler)提交表单的按钮
表单处理程序通常是包含用来处理输入数据的脚本服务器页面
表单处理程序在表单的action属性中指定
  • 下拉列表
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>

<option>元素定义带选择的选项,列表通常会把首个选项显示为被选选项,可以通过添加selected属性来定义预定义选项。
<option value="fiat" selected>Fiat</option>

  • 文本域(多行字段输入)
    <textarea>
<textarea name="message" rows="10" cols="30">
The cat was playing in the garden.
</textarea>
  • 点击按钮
    <button type="button" onclick="alert('Hello World!')">Click Me!</button>

  • HTML5 增加的表单元素<datalist>,为<input>元素规定预定义选项列表,用户会在他们输入数据时看到预定义选项的下拉列表。
    <input> 元素的 list 属性必须引用 <datalist> 元素的 id 属性。

<!DOCTYPE html>
<html>
<body>

<form action="/demo/demo_form.asp">

<input list="browsers" name="browser">
<datalist id="browsers">
  <option value="Internet Explorer">
  <option value="Firefox">
  <option value="Chrome">
  <option value="Opera">
  <option value="Safari">
</datalist>
<input type="submit">
</form>

</body>
</html>
  • HTML5 增加的表单元素 <output> ,执行计算然后在 <output>元素中显示结果
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">
0  <input type="range" id="a" value="50"> 100
   +<input type="number" id="b" value="50">
   =<output name="x" for="a b"></output>
</form> 
  • HTML5 增加的表单元素 <keygen> ,规定用于表单的密钥对生成器字段。当提交表单时,私钥存在本地,公钥发送到服务器。

3.HTML 输入类型

  • <input type = "text"> 定义文本输入,单行输入字段。
  • <input type = "password"> 定义密码字段。
  • <input type = "submit"> 定义提交表单数据至提交表单处理程序的按钮。
  • <input type = "radio"> 定义单选按钮。
<form>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
</form> 

  • <input type = "checkbox">定义复选框
<form>
<input type="checkbox" name="vehicle" value="Bike">I have a bike
<br>
<input type="checkbox" name="vehicle" value="Car">I have a car 
</form> 

  • <input type = "button"> 定义按钮

HTML5 增加了多个新的输入类型

  • <input type = "number">只能输入数字值
  • <input type = "date">用于应该包含日期的输入字段
  • <input type = "color">用于应该包含颜色的输入字段
  • <input type = "range">用于一定范围内的值得输入字段
  • <input type = "month">允许用户选择月份和年份
  • <input type = "week">允许用户选择周和年
  • <input type = "time">允许用户选择时间(无时区)
  • <input type = "datetime">允许用户选择日期和时间(有时区)
  • <input type = "datetime-local">允许用户选择日期和时间(无时区)
  • <input type = "email">用于应该包含电子邮件地址的输入字段
  • <input type = "search">用于搜索字段(搜索字段的表现类似常规文本字段)
  • <input type = "tel">用于应该包含电话号码的输入字段。只有 Safari 8 支持 tel 类型。
  • <input type = "url">用于应该包含 URL 地址的输入字段

Action 属性
action 属性定义在提交表单时执行的动作。
向服务器提交表单的 通常做法是使用提交按钮。
通常,表单会被提交到web服务器上的网页。

Method 属性
method 属性规定在提交表单时所用的HTTP方法(GET或POST)
<form action="action_page.php" method="GET">

<form action="action_page.php" method="POST">

何时使用GET

  • 表单提交是被动的(比如搜索引擎查询),并且没有敏感信息。
  • 少量数据提交,浏览器会设定容量限制。

合适使用POST

  • 表单正在更新数据,或者包含敏感信息(如密码)

Name 属性
如果要正确地被提交,每个输入字段必须设置一个 name 属性

HTML Form 属性
accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
action 规定向何处提交表单的地址(URL)(提交页面)。
autocomplete 规定浏览器应该自动完成表单(默认:开启)。
enctype 规定被提交数据的编码(默认:url-encoded)。
method 规定在提交表单时所用的HTTP方法。
name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。
novalidate 规定浏览器不验证表单。
target 规定 action 属性中地址的目标(默认:_self)。

3. HTML输入属性

  • value 规定输入字段的初始值
  • readonly 规定输入字段为只读(不能修改)
  • disabled 规定输入字段是禁用的,不可用和不可点击的,被禁用的元素不会被提交
  • size 规定输入字段的尺寸
  • maxlength 规定输入字段允许的最大长度

HTML5为 <input> 增加了如下属性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • HTML 表单用于搜集不同类型的用户输入。 1.<form> 元素:<form> 元素定义 HTML 表单 1.<...
    饥人谷_兔子君阅读 328评论 0 0
  • 1 表单是如何工作的? 用户在网页上填写表单并提交所填信息,浏览器将用户提交的数据发送至 Web 服务器, Web...
    饥人谷_Mily阅读 1,181评论 0 1
  • <input>标签 标签用于搜集用户信息,根据不同的type属性值,输入字段拥有很多种形式。输入字段可以是文本字段...
    _空空阅读 4,013评论 0 3
  • 1. 什么是表单 HTML表单用于搜集不同类型的用户输入以提交给服务器进行处理, 表单是一个包含表单元素的区域. ...
    cheneyzhangch阅读 441评论 0 0
  • 常见问题 form表单有什么作用?有哪些常用的input 标签,分别有什么作用? HTML 表单用于搜集不同类型的...
    JohnHank阅读 420评论 0 0