HTML5 的from如何关闭自动完成功能?
一:什么是HTML5的form自动完成功能?
首先,HTML5 中有个新属性autocomplete ,autocomplete 属性规定表单是否应该启用自动完成功能,它自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。
如:
1
2
3
4
5
6
7
8
|
< form autocomplete = "on" > First name:< input type = "text" name = "fname" />< br /> Last name: < input type = "text" name = "lname" />< br /> E-mail: < input type = "email" name = "email" autocomplete = "off" />< br /> < input type = "submit" /> </ form > < p >请填写并提交此表单,然后重载页面,来查看自动完成功能是如何工作的。</ p > < p >请注意,表单的自动完成功能是打开的,而 e-mail 域是关闭的。</ p > |
会发现,autocomplete="on"的会被“记录下来”,而E-mail的autocomplete="off",再次输入时不会被“记录”。这就是“HTML5中form的自动完成功能”啦!
还不太清楚的可以去w3school手册继续学习。
二:如何关闭自动完成功能?
有时候我们希望关闭输入框的自动完成功能,例如当用户输入内容的时候,我们希望使用AJAX技术从数据库搜索并列举而不是在用户的历史记录中搜索。
关闭输入框的自动完成功能有3种方法:
1、在IE的Internet选项菜单里的内容--自动完成里面设置
2、设置Form的autocomplete为"on"或者"off"来开启或者关闭自动完成功能
(关闭整个表单(form)自动提示功能)
3、设置输入框(input)的autocomplete为"on"或者"off"来开启或者关闭该输入框的自动完成功能(关闭密码域的自动完成)
测试代码:(在每个form输入文字然后提交,然后再回来看看能否自动完成,注意要提交后才能有历史记录,才可能自动完成;提交后页面可能出错,不用管它,后退回去即可)
打开自动完成功能的Form<br>
1
2
3
4
5
6
7
|
< form name = "form1" autocomplete = "on" > 打开自动完成功能的输入框 < input type = "text" autocomplete = "on" >< br > 关闭自动完成功能的输入框 < input type = "text" autocomplete = "off" >< br > < input type = "submit" value = "提交" >< br > </ form > |
关闭自动完成功能的Form<br>
1
2
3
4
5
6
7
|
< form name = "form1" autocomplete = "off" > 打开自动完成功能的输入框 < input type = "text" autocomplete = "on" >< br > 关闭自动完成功能的输入框 < input type = "text" autocomplete = "off" >< br > < input type = "submit" value = "提交" >< br > </ form > |
建议:不要全部关闭自动完成功能,根据需要禁用一部分自动完成功能即可,如果你觉得浏览器自带的自动完成功能还不够强大,可以使用jquery插件来实现更加强大的自动提示完成功能。
比如百度搜索框的自动提示功能就非常强大。