2012-02-06 62 views
2

我有一个表单,它根据某些单选按钮和复选框将输入字段设置为启用/禁用。如果用户向前导航然后点击后退按钮,字段值将保留,但启用状态将恢复为默认值。有没有办法通过JavaScript处理这个问题?在后退按钮上保留HTML表单输入启用状态

+0

字段值保留在每个浏览器中。这可能是自动填充的成本..做检查.. – 2012-02-06 21:41:52

回答

3

您可以尝试调用基于DOM就绪事件(window.onload)中的单选按钮选择来启用/禁用DOM元素的JavaScript函数。从缓存加载页面时将执行此事件,并且通常应该连接这些元素的启用/禁用状态。

+0

这没有把戏。我在$(document).ready()中调用了我的setFieldState()函数。我会做更多的测试,如果这不能通过浏览器证明,我会尝试@ skyburner的建议。 – CtrlDot 2012-02-06 22:09:09

2

这里最好的答案是:“这取决于”。

我会解释一下。

这取决于您希望支持多大的浏览器受众。在大多数现代浏览器中,您可以尝试捕获JavaScript/JSON块中的DOM元素和按钮的值,然后将其推入像window.localStorage这样的位置,或者甚至在cookie中(如果您想要cookie,cookie将是最好的选择这在较旧的浏览器上工作)。

用户然后遍历回来,您可以检查一个或多个值,然后重新建立按钮状态,然后加载页面。

但是,如果您使用的是JavaScript框架,如jQuery,我会建议采取看看这个:

http://archive.plugins.jquery.com/project/DOMCached

这将允许您执行相同的特技正如我刚才所描述的,在那里您可以将按钮参数捕获到JSON/Javascript数据对象中,通过DOMCached存储,然后在用户返回到页面时访问。