我在其中一个rails网站上有一个非常广泛的表单,我想知道是否可以为每个onchange输入动态保存表单。我试图阻止的是用户花时间填写表格,然后因连接问题或类似的蠢事而丢失所有更改......
有什么建议吗?基本上,我不希望表格必须提交。我只是希望表单在Mac OS X中保存为偏好(没有应用或保存按钮,只保存)。
使用rails 3 ...谢谢!
答案 0 :(得分:1)
服务器和数据库的压力比传统方法高出几个数量级。我也同意凯尔的观点,我对于缺少提交按钮会感到非常困惑。至少,每次数据发送到服务器并成功保存时,您都需要通知用户,否则他们不知道您为什么不要求他们保存。
另外,请考虑所有开销。每次按键时,用户都必须发起连接,发送HTTP标头,cookie,表单内容等。
您是否考虑过自动保存功能?如果已经进行了更改,可能每2分钟保存一次表单,然后在表单上放一个提交按钮?我认为它可以为你节省很多痛苦,但可以获得几乎相同的好处。
答案 1 :(得分:0)
您可以将ajax事件附加到每个失去焦点的输入,这将调用Controllers更新方法。
大多数用户会对这种行为感到惊讶,因为它不是网站的预期行为。
答案 2 :(得分:0)
如果您使用AJAX来调用update,那么这里有一些可能有用的东西:jQuery的serialize()函数可以帮助将表单数据收集到post请求中,而无需调用表单提交操作。如果您要保存草稿并希望跳过验证直到最终保存,则使用save(:validate => false)
将绕过验证。