【问题标题】:Refresh problem in FirefoxFirefox中的刷新问题
【发布时间】:2010-11-21 14:24:38
【问题描述】:

在我的 asp 页面中有一个文本框名称“ProductName”

如果我在该文本框中写入任何内容并刷新该页面,则文本框在 Firefox 中不清晰。但是我在 Internet explore 中打开同一页面并在文本框中写入任何内容并刷新页面,我的文本框变得清晰

为什么文本框在 FireFox 中不清晰?

这是html代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>
<body>
<input type="text" id="ProductName" name="ProductName" style="width:235; height:20" value="">
</body>
</html>

【问题讨论】:

    标签: html firefox asp-classic


    【解决方案1】:

    这是 Firefox 的一项功能(我非常喜欢)。在服务器端您无能为力。

    编辑:

    更长的版本:你可以做一些事情,但它非常混乱。基本上,Firefox 实现这一点的方式是,当用户点击刷新按钮时,它会重新填充具有相同名称的表单元素。

    解决方法是在每次页面加载时更改 HTML 表单元素的 name 属性。您如何跟踪更改它们的内容也由您自行决定,但我只想说,作为一个 Firefox 用户,拥有一个网站会让我无休止地烦恼。

    【讨论】:

    • 另一种解决方法是autocomplete="off" 属性,是吗?
    【解决方案2】:

    “实际上,Firefox 就是这样愚蠢的。” - 是的。

    另一种方法是在输入上设置 autocomplete="off"

    【讨论】:

      【解决方案3】:

      Firefox 并不愚蠢。这是适当的行为,因为大概你淡入的 div 发生在一个事件上,例如onclick、onchange 等。由于刷新时不会触发该事件,因此 firefox 没有理由显示您的 div。编写触发事件 onload 或文档准备就绪所需的 js 是您的责任。

      返回主题:一个简单的解决方案是将表单的自动完成属性设置为“关闭”

      就是这样。

      【讨论】:

        【解决方案4】:

        您可以将autocomplete="off" 属性添加到输入,如下所示,它应该可以解决问题。

        <input type="text" id="ProductName" name="ProductName" style="width:235; height:20" value="" autocomplete="off">
        

        【讨论】:

          【解决方案5】:

          实际上,Firefox 就是这样愚蠢的。假设您有一个复选框,当用户单击以激活该复选框时,会有一个 div 应该淡入。这里的问题是,如果您刷新页面,您的复选框将保持活动状态,但您的 div 将被隐藏。他们(firefox)一直没有想到它,那是..愚蠢的。因此,您必须求助于 js 解决方法(我不太喜欢)。

          我同意您在某些时候需要在某些输入中具有相同的值,例如当您提交页面时,出现错误,您需要将用户重定向回包含表单的页面。然后是的!,好的!,您需要这些值......但是要保持刷新值,那真是愚蠢。

          什么用户输入了他的详细信息,然后只是想“嗯,我现在按 f5 看看会发生什么”。如果那是那种“漫游”您的网站的用户,请关闭它,因为它充满了愚蠢

          好的,现在已经不碍事了。

          “每次页面加载时更改 HTML 表单元素的名称属性” 这是一个坏主意,不要这样做......

          您可以使用 js 函数来获取输入并将值设置为“”

          onpageload:
          document.getElementById('inp1').value = '';
          document.getElementById('inp2').value = '';
          document.getElementById('inp3').value = '';
          

          等等等等。 附言这只是一个例子,你的工作是看什么适合你(无论是 jquery、prot 还是其他);看看你是否使用了 for 循环;等等

          【讨论】:

          • 我完全同意 Firefox 的行为是“愚蠢”的想法。出乎意料,和其他浏览器不一样,基本上是网站所有者无法控制的。这些都不是一件好事。
          • 除了咆哮,这并不“愚蠢”。意外发生。这至少发生在我身上一次。如果你的表单很脆弱,那是你的错,而不是浏览器。
          【解决方案6】:

          HTMLFormElement 实例继承 reset 方法。

          它可用于将所有表单清除为其默认值:

          for(var i=0; i<document.forms.length; ++i)
              document.forms[i].reset();
          

          【讨论】:

            【解决方案7】:

            针对这个问题添加

            autocomplete="off"
            

            输入标签的属性例如:

            <input type="text" autocomplete="off" id="ProductName" name="ProductName" style="width:235; height:20" value="">
            

            【讨论】:

              【解决方案8】:

              您可以使用 Ctrl+Shift+R 命令强制重新加载(不是从缓存中)(请参阅 http://www-archive.mozilla.org/docs/end-user/moz_shortcuts.html 上的页面导航快捷方式)

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2019-01-24
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-01-05
                • 2011-08-04
                • 2011-01-12
                相关资源
                最近更新 更多