0

4つの入力テキストボックスを含むフォームがあり、[保存]で値を4つのlocalStorage変数に保存します。

再びページの読み込み時に、それらを取得し、それらの値で4つのフォームラベルを設定します

$(".formFieldUserData").each(function(index)
            {
            var key = localStorage.key(index);
            $(this).val(localStorage.getItem($(this).attr('name')));
            $("#"+key+"Txt").html(localStorage.getItem($(this).attr('name')));
            });

Chromeに注文の問題があるようです。Firefoxは値を完全に設定しますが、ChromeではlocalStorageにランダムな順序でアクセスしているようです。

この問題を修正するにはどうすればよいですか?

4

1 に答える 1

0

Chromeはキーに従ってソートされたデータを保存します(あなたの場合、desc-> email-> name-> phone)。他のブラウザには独自の順序があります。したがって、データを取得する順序に依存することはできません。配列を使用できます。しかし、私の経験では、連想配列を localStorage (文字列キーを持つ配列) に格納することはできません。したがって、連想配列を保存する場合は、最初stringifyに配列を保存して localStorage に保存する必要があります。次に、それを使用してJSON.parseオブジェクトのように使用できます。

フィドル

于 2013-03-09T18:11:00.513 に答える