3

私は、ユーザーがブログ投稿を作成でき、ブログ投稿が定期的に更新されるアプリケーションに取り組んでいます。自動保存を処理するためのjQuery自動保存プラグインを見つけましたが、まだ問題が発生しています。

  1. firebugを使用してデバッグすると、GETリクエストのみが表示されるため、ページが更新されず、GETリクエストの後にPOSTを呼び出す方法がわかりません。

  2. 入力時または3秒ごとに更新されませんが、フォームフィールドの外側をクリックすると更新されます。とにかくそれを持っているので、それは3秒かそこらごとに更新されますか?

私のコードは以下のとおりです

application.js

    jQuery(function($) {
      $("#main-form").autosave({
        callbacks: {
          trigger: ["change", function() {
            var self = this;

            $("[name=save]").click(function() {
              self.save();
            });
          }],
          save: {
            method: "ajax",
            options: {
              success: function() {
                alert("saved!");
              }
            }
          }
        }
      });
    });

post_controller.rb

def update
  @post = Post.find(params[:id])

  respond_to do |format|
    if @post.update_attributes(params[:post])
      format.html { redirect_to semester_post_path, notice: 'post was successfully updated.' }
      format.json { head :ok }
    else
      format.html { render action: "edit" }
      format.json { render json: @post.errors, status: :unprocessable_entity }
    end
  end
end
4

1 に答える 1

2

先に進んだと思いますが、この投稿のギャップを埋めるためだけです。OnChangeは、フィールドがフォーカスを失ったときに発生するため、表示されているものは、設計どおりに機能しており、その設計では正常に機能しているように見えます。

タイムアウトを使用してAJAXを介して自動保存する質問/回答へのリンクは次のとおりです。

意見の自動保存:

いくつかの理由でドキュメントが正式に提出されるまで、本当に自動保存を有効にする必要があるかどうかはわかりませんが、私のお気に入りの2を投稿します。

  1. 一部のフォームには、バックエンドストレージ用の可動部分が多数ある傾向があり、その最初のコミットは、大量のデータをテーブルに詰め込む前に意図的に行う必要があります。(私見では)

  2. 最初の「実際の」送信の前にそれらをそのままにしておく(自動保存ではない)ことの背後にあるもう1つの理由は、送信を押すまで、システムにその情報を入れたくない場合があるためです。

Webでフォームを開始してから、結局その情報を入力したくないと判断した頻度はどれくらいですか。...私が実際に登録から脱却することに決めたサイトからチラシや電子メールを受け取ったり電話をかけたりするのはイライラするでしょう!

于 2013-05-01T22:31:15.047 に答える