学习要点:
1.type 属性总汇
2.type 属性解析
主讲教师:李炎恢
本章主要探讨 HTML5 中表单中 input 元素的 type 属性,根据不同的值来显示不同的输入框。
一.type 属性总汇
input 元素可以用来生成一个供用户输入数据的简单文本框。在默认的情况下,什么样的数据均可以输入。而通过不同的属性值,可以限制输入的内容。
属性名称
|
说明
|
text
|
一个单行文本框,默认行为
|
password
|
隐藏字符的密码框
|
search
|
搜索框,在某些浏览器键入内容会出现叉标记取消
|
submit、reset、button
|
生成一个提交按钮、重置按钮、普通按钮
|
number、range
|
只能输入数值的框;只能输入在一个数值范围的框
|
checkbox、radio
|
复选框,用户勾选框;单选框,只能在几个中选一个
|
image、color
|
生成一个图片按钮,颜色代码按钮
|
email、tel、url
|
生成一个检测电子邮件、号码、网址的文本框
|
date、month、time、week、datetime、datetime-local
|
获取日期和时间
|
hidden
|
生成一个隐藏控件
|
file
|
生成一个上传控件
|
二.input 元素解析
1.type 为 text 值时
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "text" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
解释:当 type 值为 text 时,呈现的就是一个可以输入任意字符的文本框,这也是默认行为。并且,还提供了一些额外的属性。
属性名称
|
说明
|
list
|
指定为文本框提供建议值的 datalist 元素,其值为datalist 元素的 id 值
|
maxlength
|
设置文本框最大字符长度
|
pattern
|
用于输入验证的正则表达式
|
placeholder
|
输入字符的提示
|
readonly
|
文本框处于只读状态
|
disabled
|
文本框处于禁用状态
|
size
|
设置文本框宽度
|
value
|
设置文本框初始值
|
required
|
表明用户必须输入一个值,否则无法通过输入验证
|
//设置文本框长度
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "text" </span><span style= "color: #ff0000;" > size</span><span style= "color: #0000ff;" >= "50" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
//设置文本框输入字符长度
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "text" </span><span style= "color: #ff0000;" > maxlength</span><span style= "color: #0000ff;" >= "10" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
//设置文本框的初始值
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "text" </span><span style= "color: #ff0000;" > value</span><span style= "color: #0000ff;" >= "初始值" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
//设置文本框输入提示
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "text" </span><span style= "color: #ff0000;" > placeholder</span><span style= "color: #0000ff;" >= "请输入内容" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
//设置文本提供的建议值
1 2 3 4 5 6 7 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >list</span><span style= "color: #0000ff;" >= "footlist" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >datalist </span><span style= "color: #ff0000;" >id</span><span style= "color: #0000ff;" >= "footlist" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >option </span><span style= "color: #ff0000;" >value</span><span style= "color: #0000ff;" >= "苹果" </span><span style= "color: #0000ff;" >></span>苹果<span style= "color: #0000ff;" ></span><span style= "color: #800000;" >option</span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >option </span><span style= "color: #ff0000;" >value</span><span style= "color: #0000ff;" >= "桔子" </span><span style= "color: #0000ff;" >></span>桔子<span style= "color: #0000ff;" ></span><span style= "color: #800000;" >option</span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >option </span><span style= "color: #ff0000;" >value</span><span style= "color: #0000ff;" >= "香蕉" </span><span style= "color: #ff0000;" > label</span><span style= "color: #0000ff;" >= "香蕉" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >option </span><span style= "color: #ff0000;" >value</span><span style= "color: #0000ff;" >= "梨子" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ></span><span style= "color: #800000;" >datalist</span><span style= "color: #0000ff;" >></span></span></span></span></span></span></span>
|
로그인 후 복사
//设置文本框内容为只读,可以提交数据
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "text" </span><span style= "color: #ff0000;" > readonly</span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
//设置文本框内容不可用,不可以提交数据
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "text" </span><span style= "color: #ff0000;" > disabled</span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
2.type 为 password 值时
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "password" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
解释:当 type 值为 password 时,一般用于密码框的输入,所有的字符都会显示星号。密码框也有一些额外属性。
属性名称
|
说明
|
maxlength
|
设置密码框最大字符长度
|
pattern
|
用于输入验证的正则表达式
|
placeholder
|
输入密码的提示
|
readonly
|
密码框处于只读状态
|
disabled
|
文本框处于禁用状态
|
size
|
设置密码框宽度
|
value
|
设置密码框初始值
|
required
|
表明用户必须输入同一个值
|
这里除了正则和验证需要放在下一节,其余和文本框一致。
3.type 为 search 时
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "search" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
解释:和文本框一致,在除 Firefox 浏览器的其他现代浏览器,会显示一个叉来取消搜索内容。额外属性也和 text 一致。
4.type 为 number、range 时
1 2 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "number" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "range" </span><span style= "color: #0000ff;" >></span></span></span>
|
로그인 후 복사
解释:只限输入数字的文本框,不同浏览器可能显示方式不同。生成一个数值范围文本框,只是样式是拖动式。额外属性如下:
属性名称
|
说明
|
list
|
指定为文本框提供建议值的 datalist 元素,其值为datalist 元素的 id 值
|
min
|
设置可接受的最小值
|
max
|
设定可接受的最大值
|
readonly
|
设置文本框内容只读
|
required
|
表明用户必须输入一个值,否则无法通过输入验证
|
step
|
指定上下调节值的步长
|
value
|
指定初始值
|
//范围和步长
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "number" </span><span style= "color: #ff0000;" > step</span><span style= "color: #0000ff;" >= "2" </span><span style= "color: #ff0000;" > min</span><span style= "color: #0000ff;" >= "10" </span><span style= "color: #ff0000;" > max</span><span style= "color: #0000ff;" >= "100" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
5.type 为 date 系列时
1 2 3 4 5 6 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "date" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "month" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "time" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "week" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "datetime" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "datetime-local" </span><span style= "color: #0000ff;" >></span></span></span></span></span></span></span>
|
로그인 후 복사
解释:实现文本框可以获取日期和时间的值,但支持的浏览器不完整。我们测试 Chrome 和 Opera 支持,其他浏览器尚未支持。所以,在获取日期和时间,目前还是推荐使用 jQuery 等前端库来实现日历功能。额外属性和 number 一致。
6.type 为 color 时
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "color" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
解释:实现文本框获取颜色的功能,最新的现代浏览器测试后 IE 不支持,其余的都能显示一个颜色对话框提供选择。
7.type 为 checkbox、radio 时
1 2 3 4 5 6 7 8 | 音乐<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "checkbox" </span><span style= "color: #0000ff;" >></span><span style= "color: #000000;" >
体育</span><span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "checkbox" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "radio" </span><span style= "color: #ff0000;" > name</span><span style= "color: #0000ff;" >= "sex" </span><span style= "color: #ff0000;" > value</span><span style= "color: #0000ff;" >= "男" </span><span style= "color: #0000ff;" >></span><span style= "color: #000000;" >
男
</span><span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "radio" </span><span style= "color: #ff0000;" > name</span><span style= "color: #0000ff;" >= "sex" </span><span style= "color: #ff0000;" > value</span><span style= "color: #0000ff;" >= "女" </span><span style= "color: #0000ff;" >></span><span style= "color: #000000;" >
女</span></span></span></span></span>
|
로그인 후 복사
解释:生成一个获取布尔值的复选框或固定选项的单选框。额外属性如下:
属性名称
|
说明
|
checked
|
设置复选框、单选框是否为勾选状态
|
required
|
表示用户必须勾选,否则无法通过验证
|
value
|
设置复选框、单选框勾选状态时提交的数据。默认为 on
|
//默认勾选,默认值为 1
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "checkbox" </span><span style= "color: #ff0000;" > name</span><span style= "color: #0000ff;" >= "music" </span><span style= "color: #ff0000;" > checked value</span><span style= "color: #0000ff;" >= "1" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
8.type 为 submit、reset 和 button 时
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "submit" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
解释:生成一个按钮,三种模式:提交、重置和一般按钮,和
值名称
|
说明
|
submit
|
生成一个提交按钮
|
reset
|
生成一个重置按钮
|
button
|
生成一个普通按钮
|
如果是 submit 时,还提供了和
9.type 为 image 时
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "image" </span><span style= "color: #ff0000;" > src</span><span style= "color: #0000ff;" >= "img.png" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
解释:生成一个图片按钮,点击图片就实现提交功能,并且传送了分区响应数据。图片按钮也提供了一些额外属性。
属性名称
|
说明
|
src
|
指定要显示图像的 URL
|
alt
|
提供图片的文字说明
|
width
|
图像的长度
|
height
|
图像的高度
|
提交额外属性
|
formaction、formenctype、formmethod、formtarget和 formnovalidate。
|
10.type 为 email、tel、url 时
1 2 3 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "email" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "tel" </span><span style= "color: #0000ff;" >></span>
<span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "url" </span><span style= "color: #0000ff;" >></span><span style= "font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.5; background-color: #ffffff;" > </span></span></span></span>
|
로그인 후 복사
解释:email 为电子邮件格式、tel 为电话格式、url 为网址格式。额外属性和 text 一致。但对于这几种类型,浏览器支持是不同的。email 支持比较好,现在浏览器都支持格式验证;tel 基本不支持;url 支持一般,部分浏览器只要检测到 http://就能通过。
11.type 为 hidden 时
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "hidden" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
解释:生成一个隐藏控件,一般用于表单提交时关联主键 ID 提交,而这个数据作为隐藏存在。
12.type 为 file 时
1 | <span style= "color: #0000ff;" ><span style= "color: #800000;" >input </span><span style= "color: #ff0000;" >type</span><span style= "color: #0000ff;" >= "file" </span><span style= "color: #0000ff;" >></span></span>
|
로그인 후 복사
解释:生成一个文件上传控件,用于文件的上传。额外提供了一些属性:
属性名称
|
说明
|
accept
|
指定接受的 MIME 类型
|
required
|
表明用户必须提供一个值,否则无法通过验证
|
1 | accept= "image/gif, image/jpeg, image/png"
|
로그인 후 복사