【问题标题】:Is there a way to tell Firefox not to remember the state of my input fields on page refresh?有没有办法告诉 Firefox 在页面刷新时不要记住我的输入字段的状态?
【发布时间】:2022-01-27 18:46:49
【问题描述】:

Firefox 有一个非常烦人的功能。当您按下 F5 时,它会记住输入字段的状态。它不仅仅是值,它甚至会记住输入是否被禁用。

示例:

<html>
    <head>
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
    </head>
    <body>
        <input type="text" value="textbox" />
        <a href="#" onclick="javascript: $('input').attr('disabled', true); return false; " >Disable text box</a>
    </body>
</html>

上面的代码有一个锚点,当点击它时,会禁用文本输入字段。之后,Firefox 会记住 F5 之后的状态,只有在地址栏按回车才能恢复到原来的状态。

是否有元标记或其他东西让 FF 停止这样做?

编辑

实际上浏览器有不同的行为。火狐是最烦人的。 Firefox 会记住输入值以及它是否被禁用。 IE8 记住值,Chrome 什么都不记得

【问题讨论】:

  • 禁用时为什么不用.val('') 清除它?
  • 问题是当我按下 F5 时它被禁用了
  • 只需在页面加载时删除“禁用”属性,如下所示:$('input').removeAttr('disabled');
  • 对于那些感兴趣的人,这里是关于这个的错误(请不要在那里评论“请修复这个”):bugzilla.mozilla.org/show_bug.cgi?id=654072
  • 看起来是bug报告打开8年后,一直没有修复。

标签: html firefox


【解决方案1】:

您可以将元素或表单设置为 autocomplete="off" 以禁用状态保存,但这当然也会禁用输入自动完成。

【讨论】:

  • Chrome 也是一样,如果你使用带有autocomplete=off 的输入字段的后退按钮,它们将是空白的
  • 效果很好,谢谢!看起来 Mozilla 和 Google 聘请了微软的人来开发它
【解决方案2】:

我认为所有浏览器都有这个功能。

但是要将您的输入重置为其原始值,请尝试此操作。

$('document').ready(function(){//or whenever you want to fire back to the default value
    $('input#withanidplease').val($('input#withanidplease').prop('defaultValue'))
})

【讨论】:

  • 实际上浏览器有不同的行为。火狐是最烦人的。 Firefox 会记住输入值以及它是否被禁用。 IE8 会记住这个值,而 Chrome 什么都不记得。感谢您的回复,但我真的在寻求不涉及 JavaScript 的解决方案
  • 好的。常识:没有javascript,还是没有JQuery?因为在您的示例中,您使用了一些 Javascript。
【解决方案3】:

试试这个:

<a href="javascript:void(0)" onclick="javascript: $('input').attr('disabled', true); return false; " >Disable text box</a>

【讨论】:

    【解决方案4】:

    根据您使用的脚本语言,您可以尝试禁用缓存。

    【讨论】:

    • 有没有人在浏览器中使用除了javascript之外的其他东西,我想知道......?
    猜你喜欢
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2021-03-20
    相关资源
    最近更新 更多