【问题标题】:Back button which goes back to filled in form返回填写表格的后退按钮
【发布时间】:2016-06-10 11:43:50
【问题描述】:

有没有办法添加一个返回按钮来重新加载填写了输入的表单?

我有一个带有一些输入字段和一个保存(提交)按钮的表单。单击提交时,如果未填写必填字段,则会打开一个新页面并显示一条消息。如果我使用浏览器的后退按钮,我会收到以下消息:

确认重新提交表单

此网页需要您之前输入的数据才能 正确显示。您可以再次发送此数据,但这样做您 将重复此页面之前执行的任何操作。请按 重新加载按钮以重新提交加载页面所需的数据。 ERR_CACHE_MISS

所以基本上,它要求我刷新,然后在弹出窗口上单击“确定”进行确认,然后重新加载表单但有空字段。

我已经尝试过考虑所有问题,但找不到解决方案。谢谢。

【问题讨论】:

  • 很难说没有代码或您正在使用的特定技术。解决此问题的一般架构方法是在数据正确之前根本不离开表单页面。但是对你有用的东西是不可能没有细节就说出来的。
  • 如何保存已经填写的字段?您可能必须使用此处提到的 webstorage:stackoverflow.com/a/17591919/4976543 ... 然后,您可以使用页面上的 onload 功能轻松填写字段..
  • 另外,cookie 是一个选项:w3schools.com/js/js_cookies.asp

标签: javascript html


【解决方案1】:

如果可能,我会更改结构,以便表单回发到自身,并运行必填字段的验证。然后,如果一切正常,它将继续进行任何必要的处理。如果出现问题,它可以再次显示表单,但在您的代码中,您将可以访问已提交的值,因此您可以使用这些值预填充表单,然后将其显示给用户。这是一种非常标准的设计技术。

【讨论】:

  • 我做了类似的事情,使用会话,它有效://On page 1 $_SESSION['varname'] = $var_value; //On page 2 $var_value = $_SESSION['varname'];。第 2 页与第 1 页相同,只是输入字段已输入为最后一次。
  • 我想这会起作用,但是您正在为您的表单复制代码,这有一个很大的缺点,因为它使将来更改它变得更加困难(您必须更改所有内容两次)。
猜你喜欢
  • 1970-01-01
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
  • 2012-08-30
相关资源
最近更新 更多