3

RailsプロジェクトでPrototypeを使用して、フォームのインプレース編集(Ajax.InPlaceEditorを介して)を行っています。ただし、すぐに投稿して更新を行うことは望ましくありません。フォーム自体はかなり複雑であり、ユーザーは変更を破棄することを決定する可能性があります。フォームが(彼らにとって)目に見えない形でデータベースを更新したため、今だけ彼らはできません。

したがって、私が考えていたのは、ポストバックURLを指定せずにPrototype InPlaceEditorを使用して(またはtrueを返す汎用ポストバックURLにする)、フィールドの「onLeaveEditMode」の一部として、非表示のフォームフィールドを更新することでした。新しい値。

そうすれば、ユーザーがインプレースエディターの見栄えが良くても、下部にある[キャンセル]を押してすべての変更を元に戻すことができます。

それで、私は小さなテストプロトタイプでこのミッションに着手しました、そしてそれはうまくいくようです-それがかなりの量のjavascriptコードを意味し、ある意味でInPlaceEditorの目的を卑劣なように感じることを除いて。これは解決された問題である必要がありますが、私のgoogle-fuは私が望むように何も返しません。

フィールドをインプレース編集できますが、変更をコミットするには「保存」を押す必要がある、このようなもの(ただし、明らかにグリッドフォームではありません): http ://www.nitobi.com/products/grid/editors/

いくつかの質問:1)これを行うための既存のrailsプラグインまたはPrototypeクラスはありますか?2)そうでない場合、私のアプローチは合理的に聞こえますか?

ありがとう!!

4

1 に答える 1

3

インライン編集の派手な感じだけが必要な場合。ごまかす。

  • フォーム フィールドの境界線なしを維持します。したがって、通常のテキストのように見えます。
  • ホバーすると、フィールドの背景が強調表示されます。
  • フォーカス時に境界線を表示 (クラスの追加またはインライン スタイルの変更による)。
  • ぼかしで再び境界線を非表示にします。

ゴースト隠しフィールドは必要ありません。そしてほとんどのものはcssです。

jquery を使用して JavaScript コードを最小限に抑えます。:-)

于 2010-01-23T19:58:58.540 に答える