onclick javascript 无法使用 Firefox 上的选择选项完全刷新表单

Posted

技术标签:

【中文标题】onclick javascript 无法使用 Firefox 上的选择选项完全刷新表单【英文标题】:onclick javascript doesn't fully refresh form with select option on firefox 【发布时间】:2014-02-18 22:42:38 【问题描述】:

我有一个带有使用此代码的刷新按钮的表单:

<button type="button" onClick="window.location.reload();return false;" style="height:33px; width:50px;">
 <img src="../css/images/restart_25.png" />
</button>

我也用过这个:

onClick="window.location.reload()"

在所有其他浏览器上,此按钮刷新整个页面,并且第一个选择设置回&lt;option value=""&gt;Select Category&lt;/option&gt;

在 firefox 上刷新页面,但 Category Select 仍然是之前选择的内容,例如 Test。

在 Firefox 上刷新之前:

在 Firefox 上单击刷新按钮后:

在所有其他浏览器上单击刷新按钮后:

http://puu.sh/6AtSQ.png

我不确定它是否重要,但是这个类别选择附加到 ajax 代码,它搜索用户选择的选项并输出下一个选项选择,如果需要代码,我会显示它。

为什么 Firefox 不刷新整个表单,而所有其他浏览器都这样做?谢谢。

【问题讨论】:

您可以尝试类似solution here: 的方法,它使用 autocomplete=off 来防止 firefox 对输入执行此操作,但不确定它是否适用于选择。 【参考方案1】:

这是诀窍:

window.location.reload(true);

reload 方法有一个布尔值,当它为真时,会导致页面始终从服务器获取文档。默认为false,可能会从缓存中重新加载页面。

【讨论】:

很高兴我能帮上忙 :) 不要忘记将问题标记为已回答。【参考方案2】:

有一个属性可用于输入、选择和表单元素。将其设置为关闭,如下所示:

<select autocomplete="off">...</select>

<form autocomplete="off">...</form>

<input autocomplete="off" />

查看参考HERE

【讨论】:

【参考方案3】:

您可以使用 document.location.reload() 而不是 window.location.reload(),因为 Firefox 在使用 javascript window.location.reload() 刷新页面时出现问题。

Read this article

或者如果你想使用window.location.reload(),那么你可以尝试将属性设置为true

window.location.reload(true):强制从服务器重新加载当前页面。

【讨论】:

以上是关于onclick javascript 无法使用 Firefox 上的选择选项完全刷新表单的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:未捕获的 TypeError:无法在 HTMLButtonElement.but.onclick 处设置属性“innerHTML”为空(

JavaScript 未捕获类型错误:无法读取 null 的属性“样式”:按钮 Onclick 使 html 消失

使用JavaScript Onclick Event将数据传递给Django中的views.py?

如何使用 onclick="javascript:location.href" 打开新标签页?

JavaScript- onclick获取同行其它td的值

Javascript JSON.parse 字符串 onclick 内联