window.location.reload();在IE8中失去了viewstate

时间:2012-02-14 09:59:44

标签: javascript firefox internet-explorer-8 viewstate reload

单击按钮,我需要确保窗口控件更改为新的新元素(选项卡)。因此,我在html中使用这样的东西:

<input id="back" type="button" value="Back to Form" onclick="backTo();">

和相应的JS代码是: -

function backTo(){
    window.location.href='#fragment-1';
    window.location.reload();
}

在Firefox中执行上面的操作时,控件将返回到元素(片段-1),其中包含输入文本数据的字段prev。虽然IE8控件中的相同内容将返回到fragment-1元素,但输入的所有文本数据都将丢失。

此外,我已将Cache-control paremeter set添加到public并尝试查看这是否有助于在控制权返回给定div /元素时从缓存加载viewstate。

什么遗失?

2 个答案:

答案 0 :(得分:0)

嗯..这取决于特定浏览器如何保存页面状态。
也尝试使用history.go()方法http://www.w3schools.com/jsref/met_his_go.asp并查看问题是否已解决。

答案 1 :(得分:0)

如何重新提交表单而不是重新加载:

document.forms[0].submit();//assumed there is only one form in you page

更新:应该这样做: 假设下面的div是您要将控件传输到的元素,请使用scrollIntoView函数:

<div id="fragment-1" name="fragment-1">
....
</div>

document.getElementById('fragment-1').scrollIntoView();