私はMVC4、jquery、ajax、jsonを使用しています。タスクがあります
登録フォームで、すでに入力されているデータを取得して編集します。コンテンツを編集しました。キャンセルボタンをクリックすると、編集前のデータにリセットされます。
値をリセットするためのdb呼び出しを回避する方法はありますか?jqueryが値をリセットするための履歴データオプションを維持していると聞きました。
私はMVC4、jquery、ajax、jsonを使用しています。タスクがあります
登録フォームで、すでに入力されているデータを取得して編集します。コンテンツを編集しました。キャンセルボタンをクリックすると、編集前のデータにリセットされます。
値をリセットするためのdb呼び出しを回避する方法はありますか?jqueryが値をリセットするための履歴データオプションを維持していると聞きました。
値を取得するために初めてDB呼び出しを行うときは、これらの値をJSONオブジェクトとしてクライアント側に保存します。ユーザーがデータを編集すると、これらのオブジェクトは状態を維持できるため、変更されません。したがって、[キャンセル]をクリックすると、クライアント側に保存されているJSONオブジェクトから元の値をフェッチします。したがって、この場合、フロー全体がクライアント側にあり、サーバー呼び出しは行われません。
checked
jQueryを使用して、いくつかの入力の現在の値(およびなどの他の属性)を保存する一般的な方法と、保存された値に値を逆にする別の方法があると思いdata
ます。
function save() {
$("input, textarea, select").each(function() {
$(this).data("savedVal", $(this).val());
$(this).data("savedChecked", $(this).prop("checked"));
});
}
function reset() {
$("input, textarea, select").each(function() {
$(this).val($(this).data("savedVal"));
$(this).prop("checked", $(this).data("savedChecked"));
});
}
デモ。ただし、ページ全体のすべての入力をキャプチャするのではなく、セレクタを特定のフォームに制限することをお勧めします。