window.location.reload();在 IE8 中丢失视图状态
单击按钮时,我需要确保窗口控件更改为新的新元素(选项卡)。因此,我在 html 中使用类似的内容:
<input id="back" type="button" value="Back to Form" onclick="backTo();">
相应的 JS 代码是: -
function backTo(){
window.location.href='#fragment-1';
window.location.reload();
}
在 Firefox 中执行上述操作时,控制将返回到元素(fragment-1),其中字段具有先前输入的文本数据。虽然 IE8 控件中的相同操作会返回到fragment-1 元素,但之前输入的所有文本数据都会丢失。
此外,我已将缓存控制参数设置为公共,并尝试查看这是否有助于在控制返回给定 div/元素时从缓存加载视图状态。
有什么遗漏的吗?
On Click of a button, I need to make sure window control changes to new new element(tab). Therefore, I am using something like this in html:
<input id="back" type="button" value="Back to Form" onclick="backTo();">
and the corresponding JS code is:-
function backTo(){
window.location.href='#fragment-1';
window.location.reload();
}
On executing above in Firefox, control is going back to the element(fragment-1) with fields having text-data entered prev. While the same in IE8 control is going back to fragment-1 element but all text-data entered prev is lost.
Further, I have added Cache-control paremeter set to public and tried seeing whether this would help the viewstate to be loaded from cache whenever control goest back to given div/element.
Anything missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧..这取决于特定浏览器如何保存页面状态..
还可以尝试使用history.go()方法http://www.w3schools.com/jsref/met_his_go。 asp 看看问题是否解决。
well.. it depends upon how a particular browser saves the state of the page..
also try using history.go() method http://www.w3schools.com/jsref/met_his_go.asp and see if the problem is solved.
如何重新提交表单而不是重新加载:
更新:这应该可以:
假设下面的 div 是您想要将控件转移到的元素,请使用scrollIntoView函数:
how about resubmitting the form instead of reloading:
UPDATE: This should do it:
Assuming that div below is the element you like to transfer the control to, use the scrollIntoView function: