2

如何在 IE 中单击后退按钮时使表单值相同?

当我点击后退按钮时

<input type="button" value="Back" onClick="history.go(-1);return true;" class="back-button">

它不会在 IE 中显示表单值。

当我提交表单时,我有一个带有一些输入的表单转到下一页我有一个后退按钮单击时我进入表单页面但是我有字段的表单上没有值这是 IE 的问题

4

1 回答 1

2

在页面之间移动时,通常不会保存表单值。如果您的服务器配置支持页面缓存,则可能是这样。然而,另一种方法是将表单值保存到 cookie 或更新的 html 5 会话存储中。这可以通过触发表单标题中称为 onsubmit 的函数来完成。

IE

<form id="[form id]" name="[form name]" action="[some action]" method="[GET or POST]" onsubmit="saveFormValues();">

在这种情况下,当用户单击提交按钮继续时,这些值将保存到本地浏览器存储中(本质上是本地缓存)。

当单击返回按钮时,页面的 onload 事件可以检查这些值,然后将它们重新分配给适当的字段,从而保留用户先前输入的选项、选择和输入。

要设置 HTML 5 会话存储变量:

if(typeof(sessionStorage)!=="undefined")
{
    sessionStorage.[Variable Name]=$([Field Name]).val();
}

返回页面时:

if(typeof(sessionStorage)!=="undefined") {
{
    $([Field Name]).val(sessionStorage.[Variable Name]);
}

最后一个块将检索保存的状态值。最终提交完成后,请确保您致电:

sessionStorage.clear();

这将清除会话存储变量,并使表单在用户重新访问页面时显示为新表单。

希望这可以帮助。

于 2012-10-01T15:53:32.000 回答