<input>是HTML 表单最重要的元素。根据不同的 type 属性,可以变化为多种形态。
根据type属性的定义,可以创建文本输入框、数字输入框、email输入框、密码框、单选按钮、复选框、提交按钮等
下面我们详细说明下<input>的输入类型:
<input type="text"> 定义供文本输入的单行输入字段:
<input type="number"> 定义供数字输入的单行输入字段,只能输入数字,无法输入字符:
<input type="email"> 定义供邮箱地址输入的单行输入字段,只能输入合法的email,输入不合法不提交的:
<input type="password"> 定义供密码输入的单行输入字段,输入内容是不可见的:
<input type="url"> 定义供URL输入的单行输入字段,输入值不合法不提交:
<input type="tel"> 定义供电话号码输入的单行输入字段,手机端会唤出数字键盘:
<input type="search"> 定义供电话号码输入的单行输入字段,手机端会唤出搜索按键:
<input type="range"> 定义供范围内数字滑动选择块:
样式:min属性指定最小值限制,max属性指定最大值限制,step属性规定合法数字间隔,value默认值
<input type="hidden"> 定义隐藏输入类型用于在表单中增加对用户不可见,但需要提交的额外数据时:
注意:disabled属性无法与type="hidden"的input元素一起使用
<input type="file"> 定义定义输入字段和“浏览”按钮,用于文件上传:
<input type="color"> 颜色选择器,该类型会创建一个调色板用来选择颜色,颜色值以URL编码后的十六进制数值提交。如黑色会以%23000000发送,其中%23是#的URL编码:
样式:<input type="radio"> 定义供用户从给定数目的选择中选一个选项,同一组选项按钮,name值一定要一致:
<input type="checkbox"> 定义供用户从给定数目的选择中选一个或多个选项,同一组选项按钮,name值一定要一致:
<input type="time">时间选择器,用于选取时、分:
样式:<input type="datetime-local">日期加时间控件,用于选取时、日、月、年(本地时间):
样式:<input type="date">时间选择器,用于选取日、月、年:
样式:<input type="week">周年控件,用于选取周、年:
样式: Safari浏览器不支持,只显示输入框<input type="month">年月控件,用于选取月、年:
样式: Safari浏览器不支持,只显示输入框<input type="button">定义可点击的按钮,但没有任何行为,常用于用户点击时调用JavaScript方法:
样式:<input type="submit">定义可点击的按钮,用于创建提交表单的按钮:
<input type="reset">定义可点击的按钮,用于创建重置表单的按钮:
<input type="image">定义可点击的图像按钮,该类型可以设置width、height、src、alt这四个属性用图片作为提交按钮会一起发送点击在图片上的x和y坐标,这样可以与服务器端图片地图结合使用,如果图片有name属性,也会随坐标发送:
这里列出了一些常用的输入限制属性
属性 | 描述 |
---|---|
disabled | 规定输入字段应该被禁用。 |
max | 规定输入字段的最大值。 |
maxlength | 规定输入字段的最大字符数。 |
min | 规定输入字段的最小值。 |
pattern | 规定通过其检查输入值的正则表达式。 |
readonly | 规定输入字段为只读(无法修改)。 |
required | 规定输入字段是必需的(必需填写) |
size | 规定输入字段的宽度(以字符计) |
step | 规定输入字段的合法数字间隔。 |
value | 规定输入字段的默认值。 |
autocomplete 属性规定表单或输入字段是否应该自动完成。属性开启后,浏览器会基于用户之前的输入值自动填写值。
autocomplete 属性适用于 <form> 以及如下 <input> 类型:text、search、url、tel、email、password、datepickers、range 以及 color。
提示:可设置的值为 off on
autofocus 属性也是一个布尔属性。添加在标签上,在页面加载时,域自动地获得焦点。
例子在页面打开后焦点会在email的输入框内
form 属性规定 <input> 元素所属的一个或多个表单。即input 标签不一定非得包含在<form></form>里面,使用form属性,可表明属于那个表单,值为表单的id
formaction 属性规定当提交表单时处理该输入控件的文件的 URL。覆盖 <<form> 元素的 action 属性。
只适用于 type="submit" 以及 type="image"
formenctype 属性规定当把表单数据(form-data)提交至服务器时如何对其进行编码(仅针对 method="post" 的表单)。覆盖 <<form> 元素的 enctype 属性。
只适用于 type="submit" 以及 type="image"
formmethod 属性定义用以向 action URL 发送表单数据(form-data)的 HTTP 方法。 <<form> 元素的 method 属性。
只适用于 type="submit" 以及 type="image"
novalidate 属性是布尔属性。作用在提交表单时不对 <input> 元素进行验证。
只适用于 type="submit"
formtarget 属性规定的名称或关键词指示提交表单后在何处显示接收到的响应。会覆盖 <form> 元素的 target 属性。
适用于 type="submit" type="image"
height 和 width 属性规定 <input> 元素的高度和宽度。
仅适用于 type="image"
list 属性引用的 <datalist> 元素中包含了 <input> 元素的预定义选项。
仅适用于 type="image"
pattern 属性规定用于检查 <input> 元素值的正则表达式。 如果设置,则规定允许用户在 <input> 元素中输入一个以上的值。
适用于以下输入类型:text、search、url、tel、email、and password
提示:请使用全局的 title 属性对模式进行描述以帮助用户理解。
提示:请在我们的 JavaScript 教程中学习更多有关正则表达式的知识。
placeholder 属性规定用以描述输入字段预期值的提示(样本值或有关格式的简短描述)。该提示会在用户输入值之前显示在输入字段中。
适用于以下输入类型:text、search、url、tel、email 以及 password。
required 属性是布尔属性。规定在提交表单之前必须填写输入字段。
适用于以下输入类型:text、search、url、tel、email、password、date pickers、number、checkbox、radio以及file。