IE 7中的重新加载页面清除输入字段中的文本

时间:2010-08-25 13:15:41

标签: javascript internet-explorer-7

我有一个网页,带有文本输入,用户可以输入一些文字。页面上有一个隐藏的输入元素,用于存储提交的值,因此当用户继续输入值时,它们将被附加到隐藏的输入元素,然后我使用此处存储的值输出输入给用户的所有值,请参阅

下面的代码
<SCRIPT TYPE="text/javascript">

function get_val(val)
{
    var name = val.input1.value;
    if(document.getElementById("input2").value != "")
    {
        var new_name = document.getElementById("input2").value;
        name = new_name.concat(" AND " +document.getElementById("input1").value);
        document.getElementById("input2").value = name
        alert(name);
              history.go(0); //this will be explained below
    }
    if(document.getElementById("input2").value == "")
    {
        document.getElementById("input2").value = name;
    }
}
</SCRIPT>


<h3>Enter word</h3>
<form id="frm1" name="frm1">
    <input id="input1" name="input1" type="text" size="40" value="" />
    <input id="input2" name="input2" type="hidden" size="40" value=""/>
    <input id="button" name="button" type="button" value="get name" OnClick="get_val(this.form)"/>
</form>

现在请注意history.go(0);我已经把它放进去展示我的问题了。它在大多数浏览器中都能正常工作,除了IE版本7.0.5730.1.3中的有时,当重新加载页面时,隐藏的输入元素被清除,从而导致不良结果。

有没有人知道为什么偶尔会出现Internet Explorer 7的原因?

2 个答案:

答案 0 :(得分:2)

我认为这更像是浏览器的功能,你不应该依赖。而是使用cookie或会话变量来保留字段。

答案 1 :(得分:2)

我不确定为什么IE7会这样做...但我不喜欢依赖任何浏览器来一致或可靠地保存表单字段值的想法。

将值存储在cookie中而不是隐藏元素中。

http://www.quirksmode.org/js/cookies.html