区分一个站点上的多个表单以进行自动完成

时间:2015-12-04 14:09:40

标签: html5 forms autocomplete

浏览器自动填充的逻辑是什么 - 它们如何在一个网站甚至网页上区分多个表单? 让我们假设您有一个电子商务网站,其中包含登录(用户/通行证)和结账时的礼品卡(giftcardnumber / pass)。如何告诉浏览器这些字段不是相同的字段,必须单独存储?

当然我们可以在第二个表单上禁用自动完成功能,但这不是一个很好的解决方案。

自动完成是否有标准?表单ID是存储它的关键吗? 自Windows 10以来,由于云同步功能可以在整个浏览器中同步密码和其他表单值,因此情况似乎更加复杂。

谢谢!

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您正在寻找如何打开/关闭自动完成的字段?

您可以使用以下内容设置整个表单自动完成:

<form autocomplete="on|off">

您可以使用以下内容设置每个字段的自动完成功能:

<form action="demo_form.asp" method="get">
  First name:<input type="text" name="fname" autocomplete="on"><br>
  E-mail: <input type="email" name="email"><br>
  <input type="submit">
</form>

请注意,这只会自动完成用户已在浏览器历史记录中的其他表单上自动填写的字段

您可以在此处了解更多信息(甚至可以尝试): http://www.w3schools.com/tags/att_form_autocomplete.asp

另请参阅此字段特定自动填充的链接: http://www.w3schools.com/tags/att_input_autocomplete.asp

答案 1 :(得分:0)

Here's一个很好的答案,解释了浏览器如何确定自动填充

基本上,浏览器依赖于&#34; name&#34;输入的属性和许多其他上下文信息(类/输入类型/标签),以确定哪些字段可以使用什么(类型)信息自动完成。

这里有autofill html标准的更多细节。 https://html.spec.whatwg.org/multipage/forms.html#autofill