繁体   English   中英

自动填充功能不会自动完成

[英]Autocompletion doesn't autocomplete

这是一个页面

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

让我们进入2个字段,然后提交。 然后在重新加载页面时,字段不会自动完成 ,为什么?

我应该使用本地存储吗? 饼干? 确保几天后回来的用户仍然会自动填充其字段?

(我使用的Firefox有关于自动完成的默认选项,即未禁用)。

首先,您需要意识到元素上没有任何编码的属性完全是浏览器实现的。

浏览器实现这些不同的东西。

你应该检查规格 你会注意到,实际上,

默认情况下,表单元素的自动完成属性处于打开状态。

解决问题的唯一方法就是说,如果您想要更可靠和一致的用户体验; 不要依赖浏览器实现。

简短的回答:使用Javascript

有数百个插件可以帮到你。 我会指出你最近在github上流行的一个但是需要你真的需要告诉这个插件你期望它做什么: https//leaverou.github.io/awesomplete/

更新答案:

我看到你只想填充这个领域。 这可以通过这样的方式完成(未经测试):

var form = document.forms["name_of_your_form"];
form.onsubmit = function(){
  localStorage.setItem("fname", form.elements["fname"].value);
  localStorage.setItem("email", form.elements["email"].value);
}
window.onload = function() {
  form.elements["fname"].value = localStorage.getItem("fname");
  form.elements["email"].value = localStorage.getItem("email");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM