22

我的文本输入似乎不记得以前输入的值。例如,许多我什至没有帐户但之前输入过我的电子邮件地址的网站(以“客人”的身份购买火车票)会给我一个包含我使用过的电子邮件地址的下拉列表在过去。然而我的表格并没有这样做。它要求我每次都完整地输入它。这似乎与这个问题相反......

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

它们是通过一个简单的 jQuery Ajax 帖子提交的。像这样的东西。然而,Ajax 在那个例子中并没有在 jsbin 上工作,我只是展示它来展示我的基本结构。有没有一个jQuery插件呢?有没有办法可以控制这种看似浏览器驱动的行为?

4

8 回答 8

18

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

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

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

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

于 2014-04-15T11:14:31.130 回答
18

我有同样的问题。对我来说,那是在用 ASP.NET MVC 开发的时候。无论如何,我必须做出的解决方案是多种事物的结合:

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

  2. autocomplete="on"我的输入标签中

  3. 将按钮标签更改为type="submit"标签

  4. 将我所有的输入控件包含在<form>标签中

于 2018-04-17T17:00:15.687 回答
2

它可能因浏览器和用户隐私设置和排序而异,默认情况下应该是打开的,但请尝试添加autocomplete="on"到您的输入标签。

于 2013-05-08T15:26:47.987 回答
1

一些浏览器坚决拒绝记住输入,直到我通过(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 errorid_element=document.querySelector("#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");
    }
于 2020-09-22T17:32:07.553 回答
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值如何匹配

于 2021-01-23T02:45:30.813 回答
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

于 2021-08-05T05:30:16.640 回答
-4

你可以试试autocomplete="on"

<input type="text" id="firstName" placeholder="First name" autocomplete="on" />
于 2013-05-08T15:30:57.647 回答
-5

将属性添加autocomplete="off"到您的输入。

于 2018-04-02T08:59:55.023 回答