我有一个注册表单,但是当页面刷新时数据丢失并且用户必须再次输入数据。即使页面刷新,我也希望数据保持在那里。
我正在使用serialize
函数来序列化表单数据,但现在如何在刷新页面时打印存储的值?
setcookie('formdata', serialize($formdata), time()+30*24*60*60);
但它最终会保存数据。我想在用户输入值后立即存储数据,如果页面刷新且字段已填满,则应填充数据。
答案 0 :(得分:0)
您需要使用Javascript / JQuery来实现,而不是使用PHP保存Cookie 每次用户在输入框(.change)上键入时,您都可以这样做。
答案 1 :(得分:0)
您可以使用javascript将表单值保存到Cookie中。在更改事件中使用jquery $ .cookie函数。你也可以在没有jquery的情况下使用javascript
function setCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else
var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
只需使用这些函数按名称存储和加载cookie。