【问题标题】:Rails: In-place editor but no postback?Rails:就地编辑器但没有回发?
【发布时间】:2011-01-08 01:11:58
【问题描述】:

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

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

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

所以,我在一个小测试原型中开始了这项任务,它似乎有效——除了它意味着大量的 javascript 代码,并且在某种程度上,感觉就像在混蛋 InPlaceEditor 的目的。这必须是一个已解决的问题,但我的 google-fu 并没有像我想要的那样返回任何东西。

有点像这样(但显然不是网格表单),您可以在其中就地编辑字段,但必须按“保存”来提交更改: http://www.nitobi.com/products/grid/editors/

几个问题: 1) 是否有现有的 rails 插件或 Prototype 类可以为我执行此操作? 2) 如果不是,我的方法听起来合理吗?

谢谢!!

【问题讨论】:

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


    【解决方案1】:

    如果您只是想要花哨的内联编辑感觉。假的。

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

    您不需要幽灵隐藏字段。而且大部分东西都是css。

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

    【讨论】:

    • 偷偷摸摸!我需要在 CSS 中更改文本框中的字体,但这应该很容易......
    • 虽然这对于很长的文本不是很好。最好是如果您可以将文本字段的长度保持得稍长一点,那么最好输入数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 2013-03-06
    相关资源
    最近更新 更多