Javascript:当用户在浏览器中单击BACK按钮时,使div保持display ='block'状态

时间:2014-02-28 13:16:27

标签: javascript jquery html forms

我在表单上有一些默认隐藏的div(style =“display:none;”)。当用户单击某个单选按钮时,会执行onclick事件并公开div。然后,用户在表单提交时被带到评论页面,向他显示任何错误。如果有,他点击浏览器上的BACK按钮返回到表单并更正它们。启用缓存,以便他的所有表单内容都存在。问题是,由于表单正在寻找onclick事件,因此所有先前公开的div都会被隐藏。当用户从评论页面点击回到表单时,有没有办法确保它们保持暴露?我认为document.ready函数可以做到,但没有快乐。

4 个答案:

答案 0 :(得分:1)

  

有没有办法确保用户点击时它们会暴露在外   回到评论页面的表格?我想了一份文件   功能会做到,但没有快乐。

您可以使用Cookie来管理网络浏览器中的状态。 Cookies将帮助您保存所需的用户状态。

答案 1 :(得分:1)

Cookies或localStorage,如果您只针对现代浏览器:

localStorage

答案 2 :(得分:1)

正如Yair所说,你可以使用cookies。纯JS无法做到这一点。但是,您也可以使用PHP。

在将用户转移到第二页之前,让JS扫描有问题的divs,找出哪些是可见的。 (我假设他们都有个人身份证)。将这些ID存储在逗号分隔的字符串或数组中,并将其作为_POST或_GET发送到新页面。

让PHP将其存储为隐藏值。你可以使用隐藏的输入,或者在某些东西上使用data-x ......只要它在那里。

在该页面上有JS监视后退单击,停止它,然后将用户重定向到上一页,然后将字符串或数组发送回它。让该页面上的PHP将其打印为JS值,并在页面加载上显示所有具有匹配ID的div。

答案 3 :(得分:0)

所有javascript代码都会在浏览器重新加载时重新初始化。您无法确定用户是否通过浏览器返回。

您可以使用Cookie或本地存储在初始显示时保存值,并在document.ready上显示/隐藏div。