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()"
在所有其他浏览器上,此按钮刷新整个页面,并且第一个选择设置回<option value="">Select Category</option>
在 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?