导航到其他页面后如何保留文本框值?

时间:2013-12-23 13:33:14

标签: javascript php html

我有一个页面(比如注册页面),里面有文本框。在其中输入值后,如果我使用浏览器中的后退和前进按钮导航到其他页面并再次返回到注册页面。我想要显示输入的文本框值。有没有办法做到这一点。希望有人可以提供帮助。提前谢谢......

3 个答案:

答案 0 :(得分:1)

保存到本地存储有点危险,因为任何人都可以去控制台并键入: 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:'some text'},{txbox2:'some some text'}]));

获取值:

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

这里有一个演示本地存储方法的小提琴,但是如果数据需要是安全的, 你需要使用cookies:

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

答案 1 :(得分:0)

JS变量永远不会持久化,但有两种方法:

1.Cookies 2.Storage 除了最古老的浏览器之外,所有浏览器都支持Cookie,但它们可能非常难以使用且难以使用。最重要的是,您的浏览器会在每次页面加载时向服务器发送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)

答案 2 :(得分:0)

您正在寻找的是使用session / cookie /追加查询字符串:

检查此答案:PHP Pass variable to next page