2011-08-08 16 views
3

私は保存ボタン付きのフォームを持っていますが、ユーザーはいつでもフォームに戻ってそれを記入することができます。保存ボタンをバイパスすることが可能な場合、ユーザーがページから離れたり、ブラウザを閉じたりすると、自動的にフォームが保存されて次回に再開されます。ページの自動保存/送信フォーム/ブラウザの終了/終了

これを実装するにはどうすればよいでしょうか?どのような助けもありがとうございました。

私はいくつかのjavascriptの例を見てきましたが、クロスブラウザのサポートに問題がありました。

+1

「保存」とは何ですか?サーバーに送信するか、cookies/localStorageに保存しますか? – pimvdb

+0

魔法の言葉は 'onclose'と' ajax'です –

+0

@pimvdb:Saveボタンはmysql dbに保存するPHPにフォームを提出します – Codded

答えて

0

jQueryプラグインは、自動保存機能のための御馳走に動作します。ここ http://plugins.jquery.com/project/jquery-autosave

さらに詳しい情報: http://rikrikrik.com/jquery/autosave/#examples

プラグインが含まれています

<script type="text/javascript" src="scripts/jquery.autosave.js"></script> 
    $('form.formnamehere').autosave({ 
     'interval': 20000 
    }); 

自動ページ更新せずにフォームを送信します。

1秒ごとにフォームを保存するように間隔を1秒に設定しました。そのため、編集後にユーザーがフォームを終了すると、自動的に保存されます。

2

あなたはこのように、アンロードにAJAX呼び出しを使用することができます。

window.onunload = myfunc(); 

function myfunc() { 
    alert("i am closing now"); 
    // Your AJAX Call that saves your data (e.g. all input fields) 
} 
+0

ありがとう、私はちょうどこれを試みたが、私は離れてページから移動するときではなく、ページの読み込みで動作するようだ。 – Codded

+0

代わりにwindow.onloadを使用しなかったと確信していますか? :) – Zeemee

+0

上記のコードをコピーして貼り付けたところ、window.onunload = function(){ document.checklist.submit();を使用しました。 }とうまくいくようです。別のリンクをクリックしてもフォームを送信して保存しますが、フォームが送信されたページに戻ります。 – Codded