使文本输入字段记住先前输入的数据

时间:2013-05-08 15:25:20

标签: javascript jquery html css

我的文字输入似乎不记得以前输入过的值。例如,许多网站,我甚至没有帐户,但有,例如,之前输入我的电子邮件地址(购买火车票作为“客人”)给我一个下拉列表我用过的电子邮件地址在过去。然而我的形式并没有这样做。它迫使我每次都要完全打字。似乎与this question相反。

我有简单的输入,例如<input type="text" id="firstName" placeholder="First name" />

他们用简单的jquery ajax帖子提交。像this这样的东西。然而,在这个例子中,ajax没有在jsbin上工作,我只是展示它来演示我的基本结构。有这个jquery插件吗?我可以用任何方式控制这种看似浏览器驱动的行为。感谢。

8 个答案:

答案 0 :(得分:15)

在大多数浏览器中,您可以通过为输入指定名称,使浏览器显示先前在输入字段中输入的值。例如:

<input type="text" id="firstName" placeholder="First name" name="firstName" >

如果该字段没有name属性,则浏览器不会显示建议。

同时检查javascript是否阻止了提交时的默认操作。

答案 1 :(得分:5)

我遇到了同样的问题。对我来说,就是在ASP.NET MVC中进行开发时。无论如何,我必须做的解决方案是一系列的事情:

1)在我的输入标签中定义了name属性

2)在输入标签中加autocomplete="on"

3)将按钮标记更改为type="submit"标记

4)将我的所有输入控件都包含在<form>标记

如果您遇到困难,请尝试一下,希望它会帮助您:)

干杯,

Jeff Moretti

答案 2 :(得分:0)

可能会因浏览器和用户隐私设置和排序而异,默认情况下应该启用,但请尝试将autocomplete="on"添加到输入标记。

答案 3 :(得分:0)

某些浏览器坚决拒绝记住输入,直到我通过(ab)使用localStorage“手动记住”为止。这对我有用:

    {
        // hack to remember last error id on page refresh
        // can't believe i have to do this, but my browser don't want to remember it itself, 
        // ... not sure why
        let $=document.querySelector.bind(document);
        let errorid_element=$("#errorlog_id");
        let rememberHack=function(){
            localStorage.setItem("last_id_remember_hack",errorid_element.value);
        };
        errorid_element.addEventListener("input",rememberHack);
        errorid_element.addEventListener("change",rememberHack);
        errorid_element.value = localStorage.getItem("last_id_remember_hack");
    }

答案 4 :(得分:0)

在引导程序中,您将填写 for='' 字段

示例:

    <div class="custom-control custom-checkbox checkbox-lg">
      <input type="checkbox" class="custom-control-input" id="TER" value="TER">
      <label class="custom-control-label" for="TER">Land/Lot</label>
    </div>

^ 注意 forid 值如何匹配

答案 5 :(得分:0)

如果你使用的是 React

  • 给每个输入一个名字
  • 包裹在 <form>
  • 防止默认表单操作
  • 在任何提交按钮上添加 type="submit",并且不要包含 onClick。让 onSubmit 回调处理。

现在按回车键或点击按钮会记住输入的值。

<form onSubmit={(e) => {
        e.preventDefault(); // prevent new page from being opened
        // do something with input data
     }
}>
    <input name="myInput" ... />
    <button type="submit" ... />
</form>

https://reactjs.org/docs/forms.html

答案 6 :(得分:-4)

将属性autocomplete =“off”添加到输入

答案 7 :(得分:-5)

您可以尝试autocomplete="on"

<input type="text" id="firstName" placeholder="First name" autocomplete="on" />