Spring MVC で 1 ページのフォームを作成しました。ユーザーは最初に登録する必要があり、フォームを自動的に保存して、ユーザーが後でフォームを確定できるようにしたいと考えています。タイマーを使用した従来のフォーム送信は、私が探しているものではありません。代わりに、各 onFocus イベントでフィールドをサーバーに送信する ajaxy の方法を使用することを計画しています。
このアプローチの実装またはコメントに関する提案はありますか?
Spring MVC で 1 ページのフォームを作成しました。ユーザーは最初に登録する必要があり、フォームを自動的に保存して、ユーザーが後でフォームを確定できるようにしたいと考えています。タイマーを使用した従来のフォーム送信は、私が探しているものではありません。代わりに、各 onFocus イベントでフィールドをサーバーに送信する ajaxy の方法を使用することを計画しています。
このアプローチの実装またはコメントに関する提案はありますか?
私もつい最近同じことをしました。私はJQueryを使用し、フォーム送信を行うために「シリアライズ」機能と「ajax」機能を使用しました。私の場合、イベント駆動型のアプローチを使用するのではなく、単純にシリアル化されたフォームを変数に保存し、新しくシリアル化されたフォームが以前に保存されたフォームと異なるかどうかを 1 分ごとに確認しました。
XT Ajax フレームワークも確認できます
JacobMが提案したように、 http: //docs.jquery.com/Ajax/serializeを使用してこれを解決しました。シリアル化されたフォームは、タイマーによってトリガーされる ajax ポストとして送信されます。
Spring MVC では、AbstractController を拡張する非常に基本的なコントローラーを作成し、リクエストからフィールドを抽出しました。
以下の Js スクリプトは、フォーム フィールドが変更されたときに ajax 呼び出しを行うのに役立ちます。
<script>
$(document).ready($('.form-control').change(function() {
$.ajax({
type : "post",
url : "http://localhost:8521/SpringExamples/autosave/save.htm",
cache : false,
data : $('#employeeForm').serialize(),
success : function(response) {
var obj = JSON.parse(response);
$("#alert").text(JSON.stringify(obj));
$("#alert").addClass("alert-success");
},
error : function() {
alert('Error while request..');
}
});
}));
</script>