Miałem podobny problem w jednym z moich projektów, więc napisałem js do obsługi tego przy użyciu plików cookie. Najpierw znalazłem dwie proste funkcje do ustawiania i dostać ciasteczka wartości:
function setCookie(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name) {
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1) {
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1) {
c_value = null;
} else {
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1) {
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start, c_end));
}
return c_value;
}
niż napisałem dwie inne funkcje, aby skonfigurować i uzyskać wartości wejściowe:
function saveValue(input) {
var name = input.attr('name');
var value = input.val();
setCookie(name,value);
}
function getValue(input) {
var name = input.attr('name');
var value = getCookie(name);
if(value != null && value != "") {
return value;
}
}
i przy użyciu jQuery zapisać wartość wejściowego użytkownika do cookie sesji
$('input[type=text]').each(function(){
var value = getValue($(this));
$(this).val(value);
}).on('blur', function(){
if($(this).val() != '') {
saveValue($(this));
}
});
mam nadzieję, że to pomoże;)
jeśli przesyłasz swój formularz przez ajax, to będzie wymagało odświeżenia strony, aby zmienne sesji zadziałały. –
tak, formularz jest przesłany za pośrednictwem ajax..możesz dać próbkę odświeżenia strony za pośrednictwem przesyłania ajax? – sasori