新表单属性
最完整的表单属性可以通过查阅w3cschool-h5表单属性获取,这里仅针对常见属性讲解
autocomplete(自动完成)
能够记录用户的输入,并且给予提示,这就是
autocomplete
的作用
-
取值:
- on:开启
- off:关闭
-
适用情况:
- 一般用在input标签中
-
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" >
<input type="text" autocomplete="on" name="userName">
<input type="submit">
</form>
</body>
</html>
-
使用注意:
- 标签需要添加
name
属性 - 只有提交了一次以后才会出现提示
- 标签需要添加
autofocus(获取焦点)
当某一页有很多个可供输入的元素时,用户需要使用鼠标点选元素进行输入,为了提升用户体验,我们可以通过
autofocus
属性来指定页面中默认选中的元素
-
使用方法:
- 需要哪个
表单元素
获得焦点,只需要添加该属性即可 - 不需要赋值,只需要添加属性即可,见示例代码
- 需要哪个
-
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" >
姓名:<input type="text" name="userName">
<br/>
年龄<input type="number" name="telNum" autofocus>
<input type="submit">
</form>
</body>
</html>
-
使用注意:
- 在没有该属性之前,能够使用
JavaScript
来指定元素 - 如果页面中多个元素设置了该属性,最后一个会获得焦点
- 在没有该属性之前,能够使用
form(表单关联)
当我们想要提交数据时,需要把
表单元素
放到对应的form
标签中,这个属性的出现让表单元素
的放置位置不在受到约束
-
使用方法:
- 想要某个
表单外
元素跟该表单
建立联系,只需要为元素添加属性form="表单id"
设置为想要建立联系的表单id
即可
- 想要某个
-
示例代码
- 让表单外输入爱好的
input
标签跟id为userForm
表单建立联系
- 让表单外输入爱好的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" id="userForm" >
姓名:<input type="text" name="userName">
<br/>
年龄:<input type="number" name="telNum" autofocus>
<br/>
<input type="submit">
</form>
<br/>
爱好:<input type="text" name="habbit" form="userForm">
</body>
</html>
-
使用注意:
- 虽然这个属性可以让元素的放置位置不在成为限制,但是编码时依旧建议,将元素放置到对应的表单中,除了兼容性问题以外,也为了提升代码的可读以及可维护性
multiple(多选)
如果想要在某个
input
标签中选择多个值,可以使用该属性
-
适用情况:
- 该属性可以用在type为
file
标签内
- 该属性可以用在type为
-
示例代码
- 选择多文件时,需要按住
ctrl
按钮
- 选择多文件时,需要按住
<input type="file" multiple >
placeholder(占位提示)
输入元素内默认显示一些提示信息,当用户输入之后自动消失,这种效果我们需要使用
JavaScript
来实现,知道出现了placeholder
这个属性
-
使用方式:
- 直接为该属性赋值想要提示的内容即可
-
适用情况:
- 想要不通过
JavaScript
来实现提示功能
- 想要不通过
-
示例代码:
- 显示效果如下
<input type="text"placeholder="输入用户名">
新的表单元素
除了在input标签中增加了一些新的
type
属性以外,H5
也推出了一些新的表单元素,由于浏览器的兼容问题,使用频率并不广,了解即可 w3cSchool_新表单元素
datalist
该元素规定了输入区域的选项列表,可以让用户有一些选项
-
测试代码:
- 注:测试代码只是
body
内部的代码
- 注:测试代码只是
网址:<input type="url" list="url_list" name="link"/>
<datalist id="url_list">
<option label="W3School" value="http://www.W3School.com.cn"/>
<option label="Google" value="http://www.google.com"/>
<option label="Microsoft" value="http://www.microsoft.com"/>
</datalist>
电话: <input type="tel" list="tel_list">
<datalist id="tel_list">
<option value="186xxx" label="移动">移动</option>
<option value="187xxx" label="联通">联通</option>
<option value="135xxx" label="天翼">天翼</option>
</datalist>
- datalist:
- id:id属性,想要使用该
datalist
的元素需要通过list=id
的方式来指定
- id:id属性,想要使用该
- option:
- value:指定具体的值
- label:提示信息
- 注意:
- 如果input的type为
url
,option
中对应的value需要使用http://
开始
- 如果input的type为
keygen
keygen 元素是密钥对生成器(key-pair generator)。当提交表单时,会生成两个键,一个是私钥,一个公钥。
私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate),即实现非对称加密
目前,浏览器对此元素的糟糕的支持度不足以
使其成为一种有用的安全标准。
-
使用频率:
低
output
属于新的语义标签:用来放置输出的内容,但是不能自动的计算结果,依旧需要通过js的方式来动态修改结果,只是相比于其他的标签,
语义性更强
。
-
使用频率:
低
网友评论