首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动完成不自动完成

自动完成不自动完成
EN

Stack Overflow用户
提问于 2015-06-05 08:25:38
回答 1查看 86关注 0票数 1

这是一页,包括:

代码语言:javascript
运行
复制
<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> 

让我们输入这两个字段,然后提交。然后,当重新加载页面时,字段不是自动完成的,为什么?

我应该用当地的储藏室吗?曲奇饼?确定在几天后返回的用户仍将其字段自动完成吗?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-05 08:32:21

首先,您需要认识到,元素上的一个属性(而不是您的代码)是完全由浏览器实现的。

浏览器以不同的方式实现这些功能。

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

默认情况下,窗体元素的自动完成属性处于on状态。

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

简短的回答:使用Javascript

有数以百计的插件,将为您做到这一点。我将指出一个最近在github上流行的插件,但是需要你告诉这个插件你希望它做什么:https://leaverou.github.io/awesomplete/

最新答案:

我看到你只是想填好这片土地。这可以通过这样的方法来实现(未经测试):

代码语言:javascript
运行
复制
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");
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30661773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档