首页 > 解决方案 > 您在特定表格中输入的内容不会被保留

问题描述

例如,您在 Stackoverflow.com 的搜索引擎上键入的内容会被保留。

https://stackoverflow.com/questions/tagged/javascript


document.addEventListener('keydown', (e) => {
if (e.ctrlKey && e.shiftKey && e.key == 'F') { // F = 70
    let target = document.querySelector("#search > div > input");
    target.value = 'America';
    target.focus();
}
});

但是,似乎并非所有文本区域和表单都被保留。

例如,在另一个问答网站的搜索引擎中:

document.addEventListener('keydown', (e) => {

    if (e.ctrlKey && e.shiftKey && e.key == 'F') { // F = 70

        let target = document.querySelector(".SearchBox_searchBox__inputBoxInput__nf3fq");
        target.value = 'America';
        target.focus();
    }
});

https://chiebukuro.yahoo.co.jp/search?p=&fr=common-navi

在某些网站上,输入后,如果space最后没有输入密钥等,输入的字符将被删除。

在某些网站上,如果ENTER输入后按 键搜索,输入的字符可能会被删除。

我想知道原因,当它被删除时。

原因是什么?

有解决办法吗?

标签: javascripthtmljquery

解决方案


我认为您指的是 HTMLautocomplete属性,它可以让网站告诉浏览器是否提供自动完成功能(这可能是您所指的“保留搜索”)。

HTML 自动完成属性可用于将文本或数值作为输入的元素、元素、元素和元素。自动完成功能允许 Web 开发人员指定用户代理在填写表单字段值时必须提供的自动协助,以及对浏览器关于字段中预期信息类型的指导。

当您将其设置为时off,例如。<input autocomplete="off" />...

不允许浏览器自动输入或选择该字段的值。

https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete

如果您查看https://chiebukuro.yahoo.co.jp/search?p=&fr=common-navi上的搜索输入,您会看到:

<input type="text" name="p" placeholder="Q&amp;Aを探す&quot; autocorrect="off" autocomplete="off" autocapitalize="off" value="" data-sec="h_srch" data-slk="txt" class="SearchBox_searchBox__inputBoxInput__nf3fq">

注意autocomplete="off"里面。


推荐阅读