1

私はMVC4、jquery、ajax、jsonを使用しています。タスクがあります

登録フォームで、すでに入力されているデータを取得して編集します。コンテンツを編集しました。キャンセルボタンをクリックすると、編集前のデータにリセットされます。

値をリセットするためのdb呼び出しを回避する方法はありますか?jqueryが値をリセットするための履歴データオプションを維持していると聞きました。

4

2 に答える 2

1

値を取得するために初めてDB呼び出しを行うときは、これらの値をJSONオブジェクトとしてクライアント側に保存します。ユーザーがデータを編集すると、これらのオブジェクトは状態を維持できるため、変更されません。したがって、[キャンセル]をクリックすると、クライアント側に保存されているJSONオブジェクトから元の値をフェッチします。したがって、この場合、フロー全体がクライアント側にあり、サーバー呼び出しは行われません。

于 2013-03-25T05:20:21.050 に答える
0

checkedjQueryを使用して、いくつかの入力の現在の値(およびなどの他の属性)を保存する一般的な方法と、保存された値に値を逆にする別の方法があると思い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"));
    });
}

デモ。ただし、ページ全体のすべての入力をキャプチャするのではなく、セレクタを特定のフォームに制限することをお勧めします。

于 2013-03-25T05:26:38.613 に答える