HTML5中的表单元素


本节重点

  1. HTML5中添加了许多新特性的表单元素
  2. 表单元素主要表现在 元素Element + 类型Type + 属性attribute

表单元素汇总解析

  • 表单元素列表
元素名称 说明
form 表示 HTML 表单
input 表示用来收集用户输入数据的控件
textarea 表示可以输入多行文本的控件
select 表示用来提供一组固定的选项
option 表示提供提供一个选项
optgroup 表示一组相关的 option 元素
button 表示可用来提交或重置的表单按钮(或一般按钮)
datalist 定义一组提供给用户的建议值
fieldset 表示一组表单元素
legend 表示 fieldset 元素的说明性标签
label 表示表单元素的说明标签
output 表示计算结果
  • 其他表单元素
元素名称 说明
select 生成一个下拉列表进行选择
optgroup 对 select 元素进行编组
option select 元素中的项目
textarea 生成一个多行文本框
output 表示计算结果
  • 表单元素解析

    表单元素有许多共有的属性,大家注意分辨 不同表单元素的特有属性

1.form 表单解析

    <form method="post" action="http://www.haosou.com/">
            <button>提交</button>
        </form>
    form 表单的属性
属性名称 说明
action 表单需要提交的页面
method 表单需要提交的方式 get/post
entype entype与文件上传息息相关<br /> 1. application/x-www-form-urlencoded(默认编码,不能将进行文件上传)
2. multipart/form-data (用于将文件上传到服务器的编码) <br /> 3. text/plain (未规范编码,不建议使用)
name 表单名称,建议书写,用于程序识别表单
target 设置提交时的目标位置:_blank、_parent、_self、_top
autocomplete 设置浏览器记住用户输入的数据,实现自动完成表单。<br />默认为on自动完成 , 如果不想自动完成则设置 off。
novalidate 是否进行表单的有效性检查(浏览器m默认的检查效果)

2.input 表单的属性

属性名称 说明
autofocues 让光标聚焦在input上,可以让用户直接输入
disable 禁用input,(禁止用户输入)
autocomplete 设置input的自动完成功能
form 设置表单挂钩
让表单外的元素设置表单挂钩提交
type 元素的 type 属性是最多的

3.<label>设置表单说明

 <label for="user">用户名:</label>

4.<fieldset>对表单进行编组

 `<fieldset>`元素可以将一些表单元素组织在一起,形成一个整体,并且可与外部挂钩
属性名称 说明
name 给分组定义一个名称
form 让表单外的分组与表单挂钩
disabled 禁用分组内的表单

5.<legend>添加分组说明标签

<fieldset>
    <legend>注册表单</legend>
</fieldset>

6.<button>添加按钮

button 按钮的type 属性有如下几个值:

值名称 说明
submit 表示按钮的作用是提交表单,默认
reset 表示按钮的作用是重置表单
button 表示按钮为一般性按钮,没有任何作用

button 的 type = submit 时会提供额外的属性 主要用作覆盖已有的 form 表单属性

属性名称 说明
form 指定按钮关联的表单
formaction 覆盖 form 元素的 action 属性
formenctype 覆盖 form 元素的 enctype 属性
formmethod 覆盖 form 元素的 method 属性
formtarget 覆盖 form 元素的 target 属性
formnovalidate 覆盖 form 元素的 novalidate 属性
表单元素(主要为 Input)的类型 Type

input 表单的属性用于 限制表单的内容 + 表单的样式

1.表单的属性汇总

属性 说明
text 简单的文本框,input的默认行为
password 密码框
search 搜索框
submit 、reset 、button 提交按钮、重置按钮、普通按钮
number range 只能输入数字的按钮,range 用于设置数字范围
checkbox 、radio 复选框,单选框
image 生成一个图片按钮
color 生成颜色代码的按钮
email、tel、url 生成一个检测电子邮件、号码、网址的文本框
date、month、time、<br /> week、datetime、 datetime-local 获取日期和时间
hidden 生成一个隐藏的控件
file 生成一个上传文件的组件

表单元素类型的分类解析

1.type值为text时 <input type = "text"> 元素属性

属性 说明
list 和为 input 框提供值的datalist一块使用,相当于select的变形形式
maxlength 设置文本框的最大宽度
pattern 用于输入的正则表达式
placeholder 用于输入字符的提示
readonly 设置只读状态
disabled 设置禁用状态
size 设置文本框的宽度
value 文本框的初始值
required 是否为必填字段

设置文本提供的建议值 为 select 的变相形式

    <input list="footlist">
    
    <datalist id="footlist">
        <option value="苹果">苹果</option>
        <option value="桔子">桔子</option>
        <option value="香蕉" label="香蕉"> <option value="梨子">
    </datalist>

2.type值为password时 一般用于密码框的输入,所有的字符都会显示星号

属性名称 说明
maxlength 设置密码框最大字符长度
pattern 用于输入验证的正则表达式
placeholder 输入密码的提示
readonly 密码框处于只读状态
disabled 文本框处于禁用状态
size 设置密码框宽度
value 设置密码框初始值
required 表明用户必须输入同一个值

3.type值search search表单会显示一个叉来取消搜索内容

search 表单的属性和 text 表单的属性相同

  1. type 为 number、range 时

     type = number 生成一个只能填写数字的文本框
    
     type = range 生成一个表示数字范围的文本框,并且只能拖动
    
属性 说明
list 指定为文本框提供建议值的 datalist 元素,其值为 datalist 元素的 id 值
min 设置可接受的最小值
max 设定可接受的最大值
readonly 设置文本框内容只读
required 表明用户必须输入一个值,否则无法通过输入验证
step 指定上下调节值的步长
value 指定初始值
    设置数字的步长以及范围
    <input type="number" step="2" min="10" max="100">

5.type = data时 文本框可以获取日期和时间的值

    <input type="date">
    <input type="month">
    <input type="time">
    <input type="week">
    <input type="datetime">
    <input type="datetime-local">

6.type = color 实现文本框获取颜色的功能

7.type = image 生成一个图片按钮,点击图片就实现提交功能

属性名称 说明
src 指定要显示图像的 URL
alt 提供图片的文字说明
width 图像的长度
height 图像的高度
提交额外属性 formactionformenctypeformmethodformtargetformnovalidate

8.type 为 checkbox、radio 时 生成一个获取布尔值的复选框或固定选项的单选框

属性名称 说明
checked 设置复选框、单选框是否为勾选状态
required 表示用户必须勾选,否则无法通过验证
value 设置复选框、单选框勾选状态时提交的数据。默认为 on

9.type 为 submit、reset 和 button 生成 提交、重置和一般按钮

如果是 type = submit 时,提供了和<button>元素一样的额外属性

    formaction、
    formenctype、
    formmethod、
    formtarget、
    formnovalidate

10.**type 为 email、tel、url **

    <input type="email">
    <input type="tel">
    <input type="url">

11.type 为 hidden 生成一个隐藏控件

    <input type="hidden">

12.type 为 file 生成一个文件上传控件

属性名称 说明
accept 指定接受的 MIME 类型
required 表明用户必须提供一个值,否则无法通过验证
    accept="image/gif, image/jpeg, image/png"
其他元素解析 select + textarea

  1. 其他表单元素
元素名称 说明
select 生成一个下拉列表进行选择
optgroup 对 select 元素进行编组
option select 元素中的项目
textarea 生成一个多行文本框
output 表示计算结果
  1. select表单元素 生成下拉列表

     <select name="fruit">
         <option value="1">苹果</option>
         <option value="2">橘子</option>
         <option value="3">香蕉</option>
     </select>
    
    • <select>下拉列表元素至少包含一个<option>子元素,才能形成有效的选项列 表。

    • <select> 可以充分利用 <optgroup> 形成分组select选择区域内分组

slect的属性解析 (所有的表单元素都有 autofocus 属性)

属性名称 说明
name 设定提交时的名称
disabled 将下拉列表禁用
form 将表单外的下拉列表与某个表单挂钩
size 设置下拉列表的高度
multiple 设置是否可以多选
    <select name="fruit" size="30" multiple>
        <option value="2" selected>橘子</option>
        <optgroup label="水果类">
            <option value="1">苹果</option>
            <option value="2" selected>橘子</option> 
            <option value="3" label="香蕉">香蕉</option>
        </optgroup>
        
    </select>

3.多行文本框

多行文本框的属性设置

属性名称 说明
name 设定提交时的名称
form 将表单外的多行文本框与某个表单挂钩
readonly 设置多行文本框只读
disabled 将多行文本框禁用
maxlength 设置最大可输入的字符长度
autofocus 获取焦点
placeholder 设置输入时的提示信息
rows 设置行数
cols 设置列数
wrap 设置是否插入换行符,有 soft 和 hard 两种
required 设置必须输入值,否则无法通过验证
输入验证 主要针对于表单中的 email password number 等形式的表单进行验证

  • 必填验证

      <input type="text" required>
    
  • 范围限制验证

      <input type="number" min="10" max="100">
    
  • 正则表达式验证 适用于所有的表单

      <input type="text" placeholder="请输入区号+座机" required pattern="^[\d]{2,4}\-[\d]{6,8}$">
    
  • 阻止表单的验证动作

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

推荐阅读更多精彩内容

  • 表单基础知识 在HTML中,表单是由 元素来表示的,而在JS中,表单对应的则是HTMLFormElement类型。...
    oWSQo阅读 893评论 0 1
  • 本人做php的,最近发现JS真的是博大精深啊,比PHP难.在HTML中,表单是由form元素来表示的,但是在jav...
    linfree阅读 2,042评论 3 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • 公元1010年七月 “日照王城君坐中,连云难蔽紫金辉; 江山连绵兵难断,这只臭屁老乌龟!” “好诗,好诗啊!” “...
    恋尸癖的L君阅读 316评论 15 15
  • 我躺在清冷的大地上 映着皎洁的月光 脸颊覆在泥土沙石中央 就这样 一直睡下去 不用醒来 不必慌张 没有思想 我内心...
    素朴一陶阅读 281评论 0 2