Rails:就地编辑但没有回发?

时间:2010-01-22 02:49:47

标签: javascript ruby-on-rails partial-postback inplace-editing

我在我的Rails项目中使用Prototype来进行表单的就地编辑(通过Ajax.InPlaceEditor)。但是,我不希望它立即回发并进行更新 - 表单本身非常复杂,用户可能决定放弃他们的更改。只有现在他们不能,因为表格已经无形地(对他们来说)更新了数据库。

所以,我想要做的是使用Prototype InPlaceEditor而不指定回发网址(或使其成为返回true的通用回发网址),然后作为该字段的“onLeaveEditMode”的一部分,让它更新隐藏带有新值的表单字段。

这样,当用户获得就地编辑器的奇特外观时,仍然可以按下底部的“取消”并撤消所有更改。

所以,我已经在一个小测试原型中开始了这个任务,它似乎工作 - 除了它意味着大量的javascript代码,并且在某种程度上,感觉像是在混淆InPlaceEditor的目的。这必须是一个解决的问题,但我的谷歌不会返回任何我想要的东西。

某种类似的东西(但显然不是网格形式),您可以在其中就地编辑字段,但必须按“保存”才能提交更改: http://www.nitobi.com/products/grid/editors/

几个问题: 1)是否有现有的rails插件或Prototype类为我这样做? 2)如果没有,我的方法听起来合理吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

如果您只是想要内联编辑的想象力。假它。

  • 保持表单字段边框无。所以它看起来像普通文本。
  • 悬停突出显示字段背景。
  • 在焦点显示边框上(通过添加类或更改内联样式)。
  • On Blur再次隐藏边框。

你不需要幽灵隐藏的领域。而且大多数东西都是css。

使用jquery最小化javascript代码。 : - )