私はいくつかの表示/非表示のセクションを持つフォームを持っています。ホームフォームのボタンを押すと、別のフォームが表示されます。私はそれらのフォームの情報を編集した後、私は最初のフォームに戻ります。しかし、show/hideセクションの状態はリセットされます。表示/非表示アクションはjqueryのトグルで行います。これらのセクションの状態は復帰時に保持する必要があります。 私はセッション変数に各セクションの状態を格納することを考えています。他にも解決策はありますか?この動作を別の場所、例えばミドルウェアなどで行う方が良いか可能でしょうか?jQuery/JavascriptでDjangoの表示/非表示の状態を保持する
1
A
答えて
1
あなたは本当にセッションストレージを必要としません。説明した場合、単一のクライアントのセクションの表示/非表示の状態をページ間で保持する必要があります。セッションは、サーバーが何か些細なことに関与しているので、過度の攻撃になります。
jQueryで直接localStorage(または本当に必要な場合はクッキー)を使用することになります。それはクライアント上に残り、サーバーは気にしません。
EDITのlocalStorageをチェックする
機能:
var canHazStorage = function() {
"use strict";
try {
return 'localStorage' in window && window.localStorage !== null;
} catch(e) {
return false;
}
};
あなたが値を設定するトグルコードを変更する必要があります:
$('#section1').toggle();
if (canHazStorage) {
if (is_shown) { // you'll need to write that yourself
window.localStorage['section1'] = true;
} else {
window.localStorage['section1'] = false;
}
} else {
// same code using cookies
}
そして、init関数内を:
if (canHazStorage) {
var toggled = window.localStorage['section1'];
$('#section1').toggle(toggled);
} else {
// same code using cookies
}
関連する問題
- 1. ナビゲーションバーの状態、下のナビゲーションバーの表示と非表示
- 2. Androidスタジオ状態からのボタンの非表示と表示
- 3. TYPO3:非表示要素の状態
- 4. ポップアップを作成して表示状態を表示する前にその表示状態を設定する
- 5. ナンシーアクセスモデルの状態を表示
- 6. KERASのGRUのデフォルトの非表示状態は何ですか?
- 7. プロダクションの状態構造を非表示にする
- 8. LSTMの非表示状態を初期化するTensorflow/Keras
- 9. マルチビュー - クリア状態を表示
- 10. Androidの設定/非表示の状態での設定のアクティビティ
- 11. Djangoダッシュボードの非表示メニュー
- 12. 状態を表示する(PHP)PHP MySQL
- 13. magento frontendのバックオーダーの状態を表示
- 14. 電池状態をイオン2表示で表示
- 15. ホバリング状態でのみ表示されているDivを表示する
- 16. Show_Timeテーブルの状態を表示
- 17. JSF2.0 QAロードツールの状態IDを表示
- 18. UIButtonタップで選択状態を表示
- 19. 条件を表示/非表示のフィールドを表示/非表示にする
- 20. セル値を持つデータ型の状態の表示ボタン
- 21. Jquery:チェックボックスでdivを表示/非表示にする初期状態を確認する
- 22. コマンドボタンの非表示/非表示ファイル保存オプション
- 23. localstorageからチェックボックスの状態を取得するときのフィールドの表示/非表示
- 24. 親のonclickイベントで非表示divを表示/非表示
- 25. Xamarinフォーム - 一意のIDを保持する非表示のフィールド
- 26. 反応ネイティブの状態変化を伴うコンポーネントの表示/非表示時にエラーが発生する
- 27. 範囲内の指定されたセルの表示/非表示状態を決定する
- 28. asp .net web.configの状態表示オプション
- 29. Googleマップの表示状態行
- 30. Liferay 6:MAXIMIZED状態のポートレット表示
例がありますか? – Seitaridis
私が追加した例は、関数に作られるか、ループで使われるべきです... –
ありがとう@passcod – Seitaridis