因此,我继承了这个传统的rails代码库,并且存在一个错误,我需要修复给定表单在页面刷新后保留值(尚未保存到数据库)的位置。更新后保留值的形式
用例: 用户填写表单中的数据,但不按提交。 用户单击浏览器上的刷新按钮。 保留表单中的值,而不是刷新整个页面。
任何想法,我可以开始寻找?在我短暂的,有限的Rails经验中,这不是默认情况下发生的事情,所以它必须在某个地方编码?
因此,我继承了这个传统的rails代码库,并且存在一个错误,我需要修复给定表单在页面刷新后保留值(尚未保存到数据库)的位置。更新后保留值的形式
用例: 用户填写表单中的数据,但不按提交。 用户单击浏览器上的刷新按钮。 保留表单中的值,而不是刷新整个页面。
任何想法,我可以开始寻找?在我短暂的,有限的Rails经验中,这不是默认情况下发生的事情,所以它必须在某个地方编码?
应告诉用户按Ctrl + F5
- 编辑 如果你不能告诉用户press CTRL+F5(它总是在我的经验,除非作品的浏览器是马车,或除非有其他是出错了),只是在form.reset()中onload事件。这将清除窗体中的字段为默认值。如果您在字段中具有默认值(如<输入类型=“文本”值=“在此输入名称”/ >),那么当您旅行.reset()时,它将重置为默认值。
有时浏览器会这样做。 (我不是在谈论自动填充下拉菜单,哪些浏览器也是这样做的......只是谈论部分填写,从未提交过,然后刷新的表单)。
确保字段中的值实际上来自您的Rails应用程序,方法是检查HTML源窗口。
浏览器提供的由于以前输入的值不会在VALUE属性中,但服务器提供的值将会是。
避免,这可能是一些选项:
有可能是一个更简单的解决方案... Ctrl-F5有时会做这个伎俩,但我想我以前见过这种方法不行。
我刚刚遇到了这个问题,甚至<body onload="myform.reset()">
没有工作。这是一个特别的问题,因为无论好坏,我都使用隐藏的输入作为计数器(例如跟踪动态数量的文件上传字段)。这些显然需要在重新加载时重置以防止出现不适用的警告消息。为了实现我的内部目的,我通过放弃重置按钮来支持链接,从而“修复”它。而不是<input type="reset"/>
我使用<a href=".">Reset</a>
(文件名是index.php)。远非优雅,但它适用于我的目的。