检索cookie并将其放入表单javascript中
我希望这样,当用户返回页面时,应该读取cookie,并使用保存的cookie值还原各个表单字段值。我有一个createCookie()和readCookies()函数,但我被卡住了,不知道如何继续。现在页面保存cookies,但现在我需要将表单字段恢复为重新访问页面时保存的cookies中的值检索cookie并将其放入表单javascript中,javascript,forms,cookies,restore,Javascript,Forms,Cookies,Restore,我希望这样,当用户返回页面时,应该读取cookie,并使用保存的cookie值还原各个表单字段值。我有一个createCookie()和readCookies()函数,但我被卡住了,不知道如何继续。现在页面保存cookies,但现在我需要将表单字段恢复为重新访问页面时保存的cookies中的值 <html> <body> <form id="registration"> <input name="fname" id="fname"> <inp
<html>
<body>
<form id="registration">
<input name="fname" id="fname">
<input name="lname" id="lname">
<input id="street" name="street" type="text">
<input id="city" name="city" type="text">
<select id="state" name="state"><option value="" selected="selected">Choose</option>
<input id="zip" name="zip" type="text">
<input name="email" id="email">
( <input id="phone1" name="phone1" size="3"> )
<input id="phone2" name="phone2" size="3"> -
<input id="phone3" name="phone3" size="4">
</form>
<script type="text/javascript>
var regForm = document.getElementById("registration");
var fname = document.getElementById("fname").value;
var lname = document.getElementById("lname").value;
var street = document.getElementById("street").value;
var city = document.getElementById("city").value;
var state = document.getElementById("state").value;
var zip = document.getElementById("zip").value;
var email = document.getElementById("email").value;
var phone1 = document.getElementById("phone1").value;
var phone2 = document.getElementById("phone2").value;
var phone3 = document.getElementById("phone3").value;
function createCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
var expires = "; expires=" + date.toUTCString();
}
else {
var expires = "";
}
document.cookie = name+"="+value + expires;
alert("Cookie being created " + document.cookie);
}
function readCookies() {
var myCookie = document.cookie;
var newCookie = unescape(myCookie);
var pairs = newCookie.split("=");
var name = pairs[0];
var value = pairs[1];
alert(newCookie);
}
readCookies();
</script>
</body>
</html>
选择
( )
-
有更好的方法可以做到这一点,比如HTML5中添加的sessionStorage。但更大的问题是,您必须决定何时保存这些值。最好的解决方案可能是将侦听器附加到每个输入,并在它们失去焦点时保存这些值(用户单击其他内容——表示他/她已完成此字段)
然后添加一个在页面加载时运行的脚本,只要设置存储中存在的每个输入值即可。
document.getElementById(“注册”).value=存储中的值代码>