簡體   English   中英

導航到其他頁面后如何保留文本框值?

[英]How to retain textbox values after navigating to other page?

我有一個帶有文本框的頁面(例如注冊頁面)。 在其中輸入值后,如果我使用瀏覽器中的后退和前進按鈕導航到其他頁面,然后再次返回到注冊頁面。 我希望顯示輸入的文本框值。 有沒有辦法做到這一點。 希望有人可以幫忙。 提前致謝...

保存到本地存儲有點危險,因為任何人都可以進入控制台並鍵入:window.localStorage以查看域的所有用戶的已保存值。

例如,現在在SO的此頁面上,localstorage包含以下內容:

Storage {login-prefs: "{"provider":"google","oauth_version":"","oauth_server":"","username":""}",     se:fkey: "c6f10e10979159fee3220954ec846d68,1387300621", wb:isparticipating: "{"1106914":{"t":1387805621703,"v":false}}"}

假設文本框值不包含個人信息,您仍然需要解決同一台計算機上多個用戶的問題。

一種解決方案是將用戶ID用作鍵,將值用作textboxId的json表示形式:value

例:

在window.befreunload事件上,在包含用戶ID的鍵下遍歷所有文本框值:

localStorage.setItem('user_123_form-values',JSON.stringify([{txbox1:'一些文本'},{txbox2:'一些其他文本']]));

獲得價值:

JSON.parse(localStorage的[ 'user_123_form值'])

這是用來演示本地存儲方法的小提琴,盡管如果數據需要安全,則需要使用cookie:

http://jsfiddle.net/LLyB6/2/

JS變量從未持久過,但是有兩種解決方法:

1.Cookies 2.Storage除最古老的瀏覽器外,其他所有瀏覽器均支持Cookie,但是它們非常笨拙且難以使用。 最重要的是,您的瀏覽器會在每次頁面加載時將cookie發送到服務器,因此,如果僅JavaScript使用它,則效率很低。

相反,您可能應該查看“存儲”選項。

保存項目就像localStorage.itemname = value一樣簡單; 讀取與localStorage.itemname一樣容易,而刪除與delete localStorage.itemname一樣文字。

這些值跨頁面加載保存,但不發送到服務器。

從:

導航到另一個頁面(也使用相同的js文件)時,JavaScript全局變量不持久

您要查找的內容是使用會話/ Cookie /附加查詢字符串完成的:

檢查以下答案: PHP將變量傳遞到下一頁

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM