私はHTMLフォームを含むアプリケーションを持っています。このフォームは、$scope
内のオブジェクトにデータを保存するために、ng-model
を使用するAngularJS意味テキストフィールドを使用します。AngularJSのセッションストレージにHTMLフォームを自動保存する
例:HTMLでは
:コントローラで
<input type="text" ng-model="user.firstName">
:彼らは入力として
$scope.user = {}
今私がやろうとしていますどのようなユーザーデータの自動保存でそれはセッションストレージ内にあるので、ページが再読み込み/更新された場合、誤ってデータが残っています。彼らはもう一度それをすべて入力する必要はありません。私は、テキストフィールドの状態が変化走るng-change
機能を持っている上記のコードで
<textarea type="text" class="form-control" id="Background" name="Background" ng-model="obj.background" ng-change="autosave()" required></textarea>
:
私は疲れてこれを持っています。この中
$scope.autosave = function(){
$window.sessionStorage.setItem("autosave", $scope.obj);
}
上記のコードの出力:
私の質問:フォームで私はきちんとこの作業を行うことができますので、すべてのフィールドが自動保存されている方法
とあればページで誤ってフィールドが更新され、データが再度入力されます。これは私がセッションストレージで作業している初めてのことですので、少し混乱しました。
これを達成する最も効率的な方法は何ですか?
ありがとうございました。ページリフレッシュ後にセッションのデータをテキストフィールドに取り込むことをどのようにお勧めしますか? – Skywalker
sessionstorageからオブジェクトを取得するだけのスクリプトを作成できます。次に、$( "#id")。val(me.name)のようなことができます。明らかに、if文などで使用する前に確認したいのですが –
これを試しましたが、テキストフィールドからng-modelを削除した場合にのみ動作します。それ以外の場合は、テキストフィールドに値を入力しません。 – Skywalker