随着HTML5的出现,input元素新增了多种类型,用以接受各种类型的用户输入。其中,button、checkbox、file、hidden、image、password、radio、reset、submit、text这10个是传统的输入控件,新增的有color、date、datetime、datetime-local、email、month、number、range、search、tel、time、url、week共13个
传统类型
text 定义单行的输入字段,用户可在其中输入文本
password 定义密码字段。该字段中的字符被掩码
file 定义输入字段和 "浏览"按钮,供文件上传
radio 定义单选按钮
checkbox 定义复选框
hidden 定义隐藏的输入字段
button 定义可点击按钮(多数情况下,用于通过JavaScript启动脚本)
image 定义图像形式的提交按钮
reset 定义重置按钮。重置按钮会清除表单中的所有数据
submit 定义提交按钮。提交按钮会把表单数据发送到服务器
text
type="text"表示一个文本输入框,它是默认的输入类型,是一个单行的控件,一般是一个带有内嵌框的矩形
password
type="password"表示一个密码输入框,它与文本输入框几乎一模一样,功能上唯一的不同的字母输入后会被隐藏,一般是一连串的点
【默认样式】
chrome/safari/opera
padding: 1px 0px;
border: 2px inset;
firefox
padding: 2px;
border-width: 1px;
ie
padding: 2px 1px;
border-width: 1px;
【默认宽高】
chrome
height: 14px;
width: 148px;
safari
height: 15px;
width: 148px;
firefox
height: 17px;
width: 137px;
IE9+
height: 14px;
width: 147px;
IE8-
height: 16px;
width: 149px;
【重置样式】
padding: 0;
border: 1px solid;
[注意]IE6浏览器设置的type="text"或"password"的input元素的宽高为包含padding和border的宽高
<演示框>点击下列相应按钮可进行演示
<iframe style="width: 701px; height: 170px;" src="https://demo.xiaohuochai.site/html/type/t1.html" frameborder="0" width="320" height="240"></iframe>
【tips】模拟密码显示隐藏的功能
说明:现在很多软件在密码框右侧都有一个小眼睛,用于设置密码的显示和隐藏。通过更改input元素的type属性得以实现
<style> body{ margin: 0; font-size: 16px; } #show{ padding: 0; border: 1px solid black; height: 20px; width: 200px; line-height: 20px; } #set{ display: inline-block; height: 22px; background-color: rgba(0,0,0,0.5); color: white; line-height: 18px; margin-left: -72px; cursor: pointer; } </style> </head> <body> <input id="show" type="password" maxlength="6"> <span id="set">显示密码</span> <script> set.onclick = function(){ if(this.innerHTML == '显示密码'){ this.innerHTML = '隐藏密码'; show.type="text"; }else{ this.innerHTML = '显示密码'; show.type="password"; } } </script>
<iframe style="width: 701px; height: 30px;" src="https://demo.xiaohuochai.site/html/type/t2.html" frameborder="0" width="320" height="240"></iframe>
file
type="file"定义输入字段和"浏览"按钮,用于文件上传
【重置样式】
padding: 0;
border: 0;
【默认宽高】
chrome
height: 21px;
width: 238px;
safari
height: 21px;
width: 238px;
firefox
height: 27px;
width: 222px;
IE9+
height: 21px;
width: 220px;
IE8
height: 16px;
width: 214px;
IE7-
height: 15px;
width: 210px;
[注意]IE8-浏览器设置的type="file"的input元素的宽高为包含padding和border的宽高
该类型的input元素支持accept属性和multiple属性
radio
type="radio"定义单选按钮,允许用户从给定数目的选择中选一个选项。同一组按钮,name值一定要一致
[注意]radio类型的input元素无法设置padding和border(除IE10-浏览器以外)
【默认样式】
chrome/safari/opera/firefox
margin: 3px 3px 0 5px;
box-sizing:border-box;
ie11
margin: 3px 3px 3px 4px;
box-sizing:border-box;
ie10-
padding: 3px;
box-sizing:border-box;
【默认宽高】
chrome/safari/IE
height: 13px;
width: 13px;
firefox
height: 16px;
width: 16px;
【重置样式】
padding: 0;
margin: 0;
border: 0;
checkbox
type="checkbox"定义多选按钮,允许用户在给定数目的选择中选择一个或多个选项。同一组的按钮,name取值一定要一致
[注意]checkbox类型的input元素无法设置padding和border(除IE10-浏览器以外)
【默认样式】
chrome/safari/opera/firefox/ie11
margin: 3px 3px 3px 4px;
box-sizing:border-box;
ie10-
padding: 3px;
box-sizing:border-box;
【默认宽高】
chrome/safari/IE
height: 13px;
width: 13px;
firefox
height: 16px;
width: 16px;
【重置样式】
padding: 0;
margin: 0;
border: 0;
type="radio"或"checkbox"的input元素支持checked属性
hidden
type="hidden"定义隐藏输入类型用于在表单中增加对用户不可见,但需要提交的额外数据
[注意]disabled属性无法与type="hidden"的input元素一起使用
//点击提交按钮后,隐藏域的内容test=12会包含在URL中 <form name="form" action="#"> <input type="hidden" name="test" value="12"> <input type="submit"> </form>
button
type="button"的input输入类型定义可点击的按钮,但没有任何行为,常用于在用户点击时启动javascript程序
【button、submit、reset的默认样式】
chrome/safari
padding: 1px 6px;
border: 2px outset buttonface;
box-sizing:border-box;
firefox
padding: 0 6px;
border: 3px outset;
box-sizing:border-box;
IE9+
padding: 3px 10px;
border: 1px outset;
box-sizing:border-box;
IE8
padding: 3px 10px;
border: 1px outset;
IE7-
padding: 1px 0.5px;
border: 1px outset;
[注意]IE8-浏览器的box-sizing:content-box;而其他浏览器的box-sizing:border-box;
<input type="button" value="Click me" onclick="alert(1)" />
<iframe style="width: 701px; height: 40px;" src="https://demo.xiaohuochai.site/html/type/t3.html" frameborder="0" width="320" height="240"></iframe>
type="button"的input输入类型和button元素有很多重叠特性
image
type="image"的input输入类型定义图像形式的提交按钮,该类型可以设置width、height、src、alt这四个属性
用图片作为提交按钮会一起发送点击在图片上的x和y坐标,这样可以与服务器端图片地图结合使用,如果图片有name属性,也会随坐标发送
<form action="#"> <input name="test"> <input type="image" name="imagesubmit" src="http://sandbox.runjs.cn/uploads/rs/26/ddzmgynp/submit.jpg" width="99" height="99" alt="测试图片"> </form>
<iframe style="width: 701px; height: 130px;" src="https://demo.xiaohuochai.site/html/type/t4.html" frameborder="0" width="320" height="240"></iframe>
submit
type="submit"的input输入类型用于创建提交表单的按钮
reset
type="reset"的input输入类型用于创建重置表单的按钮
<form action="#" method="get"> <input> <input type="reset" value="Reset" /> <input type="submit" value="Submit" /> </form>
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t5.html" frameborder="0" width="320" height="240"></iframe>
新增类型
color 定义调色板
tel 定义包含电话号码的输入域
email 定义包含email地址的输入域
url 定义包含URL地址的输入域
search 定义搜索域
number 定义包含数值的输入域
range 定义包含一定范围内数字值的输入域
date 定义选取日、月、年的输入域
month 定义选取月、年的输入域
week 定义选取周、年的输入域
time 定义选取月、年的输入域
datetime 定义选取时间、日 月、年的输入域(UTC时间)
datatime-local 定义选取时间、日 月、年的输入域(本地时间)
color
type="color"的input输入类型会创建一个调色板用来选择颜色,颜色值以URL编码后的十六进制数值提交。如黑色会以%23000000发送,其中%23是#的URL编码
[注意]safari和IE不支持该类型
【默认样式】
chrome
width:44px;
height:23px;
border: 1px solid rgb(169,169,169);
padding: 1px 2px;
firefox
width:46px;
height:17px;
border: 3px solid rgb(169,169,169);
padding: 6px 0;
<input type="color">
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t6.html" frameborder="0" width="320" height="240"></iframe>
tel
type="tel"的input输入类型用于表示语义上的电话输入域,外观上与type="text"的input输入类型没有差异,在手机端会唤出数字键盘
<form action="#"> <input type="tel" placeholder="请输入11位手机号码" pattern="\d{11}"> <input type="submit"> </form>
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t7.html" frameborder="0" width="320" height="240"></iframe>
type="email"的input输入类型用于表示语义上的e-mail地址输入域,会自动验证email域的值,外观上与type="text"的input输入类型没有差异,在手机端会唤出英文键盘
email类型的input元素支持multiple属性
[注意]IE9-浏览器及safari浏览器不支持
<form action="#" > <input type="email" name="email" multiple> <input type="submit"> </form>
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t8.html" frameborder="0" width="320" height="240"></iframe>
url
type="url"的input输入类型用于表示语义上的url地址的输入域,会自动验证url域的值,外观上与type="text"的input输入类型没有差异
[注意]IE9-浏览器及safari浏览器不支持
<input type="url">
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t9.html" frameborder="0" width="320" height="240"></iframe>
search
type="search"的input输入类型用于表示语义上的搜索框,外观上与type="text"的input输入类型没有差异
<input type="search">
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t10.html" frameborder="0" width="320" height="240"></iframe>
number
type="number"的input输入类型用于处理数字输入,在手机端会唤出数字键盘
[注意]IE不支持该类型
【默认样式】
chrome/safari
border: 2px inset;
padding-left: 1px;
firefox
border: 1px inset;
padding: 2px;
【属性】
max 规定允许的最大值
min 规定允许的最小值
step 规定合法的数字间隔
value 规定默认值
[注意]属性的取值可为小数
<input type="number" min="0" max="10" step="0.5" value="6" />
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t11.html" frameborder="0" width="320" height="240"></iframe>
range
type="range"的input输入类型用于处理包含在一定范围内的数字输入,类似于type="number"的input类型
[注意]IE9-不支持该类型
【默认样式】
chrome/safari
margin: 2px;
firefox
border: 1px inset;
padding: 1px;
margin: 0 9.3px;
IE10+
padding: 17px 0 32px;
【属性】
max 规定允许的最大值
min 规定允许的最小值
step 规定合法的数字间隔
value 规定默认值
[注意]属性的取值可为小数
<input type="range" min="0" max="10" step="0.5" value="6" />
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t12.html" frameborder="0" width="320" height="240"></iframe>
[注意]如果不设置min和max属性,则默认min=0,max=100
HTML5拥有多个可供选取日期和时间的新输入类型
date
type="date"的input输入类型用于选取日、月、年
month
type="month"的input输入类型用于选取月、年
week
type="week"的input输入类型用于选取周、年
time
type="time"的input输入类型用于选取时、分
datetime
type="datetime"的input输入类型用于选取时、日、月、年(UTC时间)
datetime-local
type="datetime-local"的input输入类型用于选取时、日、月、年(本地时间)
[注意]IE和firefox这6种日期类型都不支持,chrome不支持datetime类型
【默认样式】
chrome/safari
border: 2px inset;
padding-left: 1px;
<input type="date"><br><br> <input type="month"><br><br> <input type="week"><br><br> <input type="time"><br><br> <input type="datetime"><br><br> <input type="datetime-local">
<iframe style="width: 701px; height: 270px;" src="https://demo.xiaohuochai.site/html/type/t13.html" frameborder="0" width="320" height="240"></iframe>
要预设控件的日期和时间,可以用字符串设置value属性
【value属性格式】
date YYYY-MM-DD
time hh:mm:ss.s
datetime YYYY-MM-DDThh:mm:ss:sZ
datetime-local YYYY-MM-DDThh:mm:ss:s
month YYYY-MM
week YYYY-Wnn
YYYY=年
MM=月
DD=日
hh=小时
mm=分钟
ss=秒
s=0.1秒
T=日期与时间之间的分隔符
Z=Zulu时间的时区
Wnn=W周数,从1月的第一周开始是1,直到52
该类型的value属性格式还可以用在min和max的属性里,用来创建时间跨度;step可以用来设置移动的刻度
[注意]chrome不支持该类型的step设置
<input type="week" value="2015-W36" step="2" min="2015-W25" max="2015-W40">
<iframe style="width: 701px; height: 50px;" src="https://demo.xiaohuochai.site/html/type/t14.html" frameborder="0" width="320" height="240"></iframe>
相关推荐
总的来说,通过本篇内容的介绍,我们可以了解到jQuery的val()方法和attr()方法在获取和设置表单input元素值时的使用方法和不同场景下的适用性。此外,还了解到了原生JavaScript在操作表单元素值时的方法。这些知识在...
HTML input type=file 文件选择表单元素是 HTML 中一种非常重要的表单元素,用于选择文件并上传到服务器。 HTML5 中的 input type=file 元素支持多图上传、上传前预览、二进制上传等功能,取代了 swfupload.js 的...
HTML表单是网页设计中不可或缺...总的来说,理解并熟练运用HTML表单元素和`<input>`类型是创建功能丰富、用户体验优秀的网页的关键。通过实践和案例分析,我们可以更好地掌握这些知识,轻松应对网页设计中的各种挑战。
在HTML5中,Input元素扮演着至关重要的角色,它用于创建各种类型的表单控件,如文本输入框、密码框、按钮等。本篇主要讲解Input元素的一些重要属性及其用途。 1. autofocus属性: autofocus属性允许页面加载后自动...
在HTML5中,`<input>`元素的`type`属性是一个非常重要的特性,它决定了输入框的功能和样式。通过设置不同的`type`属性值,我们可以创建各种类型的输入控件,以满足网页表单设计的需求。 1. **普通文本框(text)** ...
这篇博客文章"《H5 label 绑定表单元素增强 input 的响应区》"可能详细解释了如何利用`label`元素来优化表单设计。 首先,我们要了解`label`的基本用法。在HTML中,你可以通过`for`属性将`label`与特定的`input`...
HTML5的`input`标签是构建交互式表单的关键,提供了更多的类型、属性和事件,让开发者可以创建更加丰富和功能强大的用户界面。 一、`input`标签基础 `input`标签在HTML中用于创建各种形式的用户输入控件。基本语法...
HTML5中的`<input>`元素是网页表单的核心组成部分,用于创建各种用户输入接口。它支持多种输入类型,使得开发者能够构建功能丰富的交互式表单。以下是对标题和描述中涉及的知识点的详细说明: 1. **输入类型(type...
除了这些新增类型,`input`元素还有一系列属性来增强表单的功能和行为,如`readonly`、`disabled`、`required`、`autofocus`、`pattern`等。`readonly`使输入框变为只读,`disabled`则在页面加载时禁用输入框,`...
在表单中,`<input>` 标签是最常用的控件之一,它可以以多种类型 (`type`) 出现,以满足不同需求。以下是一些常见的 `input` 类型: 1. **单行文本输入框 (input type="text")**:允许用户输入一行文本。例如: ``...
search类型的input元素主要用于创建搜索框,它提供了一个清除按钮(通常显示为"╳"),使得用户能够方便地删除已输入的搜索关键词。在案例1中,我们看到一个简单的search类型应用,如图1所示。当用户输入搜索关键词...
在Web开发中,`<input>`元素是构建用户交互界面的重要组成部分之一。通过JavaScript可以实现对`<input>`元素的高级操作,从而提升用户体验、增加表单的有效性和安全性。本文将详细介绍如何使用JavaScript来控制和...
本文将详细介绍如何在JavaScript中获取不同类型的HTML表单元素的值,包括下拉选择框(`<select>`)、单选按钮(`<input type="radio">`)、复选框(`<input type="checkbox">`)以及文本输入框(`<input type="text...
本文实例讲述了JavaScript获取表单内所有元素值的方法。分享给大家供大家参考。具体如下: 下面的JS代码可以遍历指定表单中的所有元素,并输出元素的值 <!DOCTYPE html> <html> <body> <form id=...
`<input>` 控件是 HTML 表单中最核心的元素之一,它可以实现多种功能,包括文本输入、密码输入、单选按钮、复选框以及更多。 1. **文本输入框 (text)**: `<input type="text">` 创建一个单行文本输入框,用户可以在...
在HTML5中,`<input>`元素不再局限于传统的文本、密码、单选、多选等基本类型,而是扩展了多种新的输入类型,包括`email`、`url`、`number`和`range`等。 1. **email类型**: `email`类型用于收集用户的电子邮件...
HTML5在表单处理方面引入了新的`input`输入类型,极大地增强了表单验证和用户体验。这些新类型使得开发者能够更精确地控制用户输入的数据,同时也提供了更好的浏览器原生支持,减少了对JavaScript的依赖。以下是四个...
在网页开发中,动态增加HTML表单元素是一个常见的需求,特别是在需要用户输入不确定数量信息的场景下。这个主题主要涉及到HTML、JavaScript以及后端技术如ASP.NET和C#的交互。接下来,我们将深入探讨这些知识点。 1...
表单可以包含各种输入元素,如文本框(`<input type="text">`)、密码输入框(`<input type="password">`)、按钮(`<input type="button">`或`<button>`)、复选框(`<input type="checkbox">`)、单选按钮(`...