2013-12-23 41 views
0

我有一個頁面(說註冊頁面)中的文本框。在輸入值後,如果我使用瀏覽器中的後退和前進按鈕導航到其他頁面,並再次返回到註冊頁面。我希望顯示輸入的文本框值。有沒有辦法做到這一點。希望有人能夠幫助。在此先感謝...如何在導航到其他頁面後保留文本框的值?

+3

想到Cookies,本地存儲或服務器端變量,請選擇適合的變量。 – adeneo

+0

[重新加載頁面後如何保留變量的值/]的可能重複(http://stackoverflow.com/questions/16879985/how-to-retain-value-of-the-variable-after-the- page-is-reloaded) – Rikesh

+0

可能需要緩存或每個控件的會話變量,並且如果存在,則從它們加載值。類似地在提交表單之前將當前值保存到各個「緩存/會話變量」 – dreamweiver

回答

0

保存到本地存儲是一個有點危險,因爲任何人都可以去控制檯並鍵入: window.localStorage查看保存的值,對於域的所有用戶。

例如,因此目前這個頁面上,在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表示:值

例如:

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

localStorage.setItem('user_123_form-values',JSON.stringify([{txbox1:'some text'},{txbox2:'some other text'}]));

獲取值:

JSON。解析(localStorage的[「user_123_form值」])

這裏展示本地存儲的方式,但如果數據需要是安全的, 您將需要使用cookies小提琴:

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

0

JS變量永遠都沒有持續性,但也有解決此兩種方式:

1.Cookies 2.Storage 時候,Cookies,但在所有的最古老的瀏覽器的支持,但他們可能非常難以操作且難以使用。最重要的是,您的瀏覽器會在每次頁面載入時向服務器發送cookie,所以如果它只被JavaScript使用,那麼效率非常低。

相反,你應該看看存儲選項。

保存一個項目很簡單,如localStorage.itemname = value;讀取與localStorage.itemname一樣簡單,並且刪除與文本delete localStorage.itemname

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

來自:

Javascript global variable does not persist when navigate to another page (which also uses same js file)

相關問題