如何防止HTML表单重置

时间:2010-08-07 06:46:17

标签: javascript jquery html forms

我有一个表单,除了第一个字段外,所有内容都应该在加载时禁用 第一个字段是自动完成输入。当他们从中选择某些内容时,它会被禁用,然后将第二个字段设置为启用。第二个字段是下拉列表。

问题是,在用户使用表单并单击后退按钮后,它会进入类似于单击提交之前的状态 - 1-自动完成功能已禁用(但由于某种原因没有值) 2-下拉列表已启用,并设置为使用

提交的值

我试图使用javascript(使用jquery的.ready())强制恢复表单,但是.ready()在返回后退按钮后不会运行..

返回后刷新页面恢复它。我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

问题是浏览器处理后退按钮的方式不一致。例如,Firefox缓存HTML的状态(后Javascript处理)并在点击后退按钮后返回到该状态,但其他一些则没有。

您要做的最好的事情是在提交之后,您应该重定向到包含代表提交数据的HTML的URL,并能够编辑这些提交的详细信息。这将使您的用户不再想要按下后退按钮。

修改

您还应将此添加到您的页面:

<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate"> 

这应该会阻止浏览器缓存页面状态的变化。我假设您更喜欢它,以便当用户点击后退按钮时,它们从页面的开始状态开始。