【问题标题】:laravel form empty when pressing browser back button in Chrome在 Chrome 中按下浏览器后退按钮时,laravel 表单为空
【发布时间】:2018-06-03 02:56:13
【问题描述】:

在 laravel 中,当使用 Chrome 时,有没有办法在按下浏览器后退按钮时必须在提交之前按原样填充字段。目前,如果我按浏览器后退按钮提交表单后,表单为空。

编辑:我已经在验证后使用 value = {{ old('input field name', 'default value') }} 并且工作正常。当用户点击浏览器返回时,我希望在提交之前在表单中输入的数据存在。

编辑 2: 看起来问题出在 Chrome 中。我在 Firefox 中对其进行了测试,数据保留在那里。所以看起来它与 Chrome 和 laravel 有关,因为一个简单的 html 表单页面可以正常工作。

【问题讨论】:

  • 你有没有找出原因和解决方案?我需要编写一种方法来捕获输入(例如会话等),这似乎很愚蠢。
  • 我还没有找到好的解决方案,但stackoverflow.com/a/17972303/470749 似乎相关。

标签: laravel google-chrome laravel-5.6


【解决方案1】:

您可以使用value = {{ old('input field name', 'default value') }} 在验证后显示您的表单数据。

关于返回按钮,这取决于您的浏览器。您可以将表单数据放入会话中,并且可以用该值替换默认值。然后,即使您按下返回按钮,它也会始终显示该数据。

【讨论】:

  • 是的,我已经在验证后使用value = {{ old('input field name', 'default value') }}.,它工作正常。当用户单击浏览器返回时,我希望在提交之前在表单中输入的数据就在那里,就像任何网站通常拥有它一样。
  • 那么您需要将该值存储在会话之类的某个位置,然后显示该值而不是默认值,您可以使用三元运算符来检查该会话和默认值
  • 好的,我会试试的。但是,您知道为什么会发生这种情况吗,因为在常规 HTML 页面中,当您单击返回时,数据仍然存在,所以看起来 laravel 正在(或我正在)做一些事情,在用户单击返回时清除数据。
  • 我使用的是 Chrome,它没有显示数据,但我刚刚尝试了 Firefox,它有数据。所以看起来问题可能出在 Chrome 上
  • 是的。我更新了我的问题以添加所有这些信息。谢谢你的帮助。仍然需要弄清楚它为什么会发生
猜你喜欢
  • 1970-01-01
  • 2021-07-26
  • 2013-03-02
  • 2012-05-15
  • 2010-12-13
  • 2014-08-15
  • 2014-07-17
  • 2012-11-08
  • 1970-01-01
相关资源
最近更新 更多