什么是HTML5的form自动完成功能?
首先,HTML5 中有个新属性autocomplete ,autocomplete 属性规定表单是否应该启用自动完成功能,它自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。
如:
<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>
<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>
<form name="form1" autocomplete="off">
打开自动完成功能的输入框
<input type="text" autocomplete="on"><br>
关闭自动完成功能的输入框
<input type="text" autocomplete="off"><br>
<input type="submit" value="提交"><br>
</form>
建议:不要全部关闭自动完成功能,根据需要禁用一部分自动完成功能即可,如果你觉得浏览器自带的自动完成功能还不够强大,可以使用jquery插件来实现更加强大的自动提示完成功能。
比如百度搜索框的自动提示功能就非常强大。