Javascript 如何防止HTML表单重置

Javascript 如何防止HTML表单重置,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个表单,其中除了第一个字段之外,所有内容都应该在加载时被禁用。 第一个字段是自动完成输入。当他们从中选择某个内容时,它将被禁用,然后将第二个字段设置为启用。第二个字段是下拉列表 问题是,在用户使用表单并单击“上一步”按钮后,它会进入与单击“提交”之前类似的状态- 1-自动完成已禁用,但由于某些原因没有值 2-启用下拉列表,并将其设置为提交时使用的值 我曾尝试使用jquery的.ready强制使用javascript恢复表单,但在使用返回按钮返回表单后,.ready不会运行 返回后刷新页面将

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

问题是,在用户使用表单并单击“上一步”按钮后,它会进入与单击“提交”之前类似的状态- 1-自动完成已禁用,但由于某些原因没有值 2-启用下拉列表,并将其设置为提交时使用的值

我曾尝试使用jquery的.ready强制使用javascript恢复表单,但在使用返回按钮返回表单后,.ready不会运行


返回后刷新页面将恢复页面。有没有办法解决这个问题?

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

最好的做法是在提交之后,您应该重定向到一个URL,该URL包含表示提交数据的HTML,并且能够编辑这些提交的详细信息。这将减少用户点击后退按钮的欲望

编辑:

您还应将以下内容添加到页面:

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

这是为了防止浏览器缓存页面状态的更改。我想你会更喜欢这样,当用户点击后退按钮时,他们会从页面的开始状态开始。

我自己也遇到过这个问题,而且总是能找到更好的设计。你考虑过重新设计吗?这是个好主意。我想以此作为答案,但出于好奇,这个问题有什么解决办法吗?我认为这可能与一些服务器端技巧有关,例如,当php进入后台时刷新页面,而其他人则没有我建议您将此更改为,但有些人不这样做。Opera的功能与Firefox类似,不过我喜欢Opera的功能,而且可能还有其他浏览器保持这种状态,elinks也会出现在我的脑海中。