2015-04-11 3 views
0

Мне нужно знать, как я могу показать входные данные формы после нажатия пользователем кнопки «Назад».Значение сеанса магазина Javascript даже после нажатия кнопки

Вот рабочий jsfiddle

Я создал простую страницу жерех.

Если я нажму на кнопку после ввода некоторого значения ввода, он перейдет на следующую страницу, и снова я нажму «назад», он не отобразит введенные входные значения.

$("#form").submit(function() { 
    var inputs=$('.input'); 
    for(i=0;i<inputs.length;i++)validateEmail(inputs[i]); 
    if($('.invalid').length!==0)return false; 
}); 

Мне нужно показать эти значения. Как я могу это достичь? Заранее спасибо!

Примечание: В моем jsfiddle не было указано действие следующей страницы.

+0

Данные можно хранить в файлах cookie. –

+0

Вы можете использовать [cookies] (https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie), [localStorage] (https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) и [подробнее] (https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API) ... Обучение - это путешествие, но по крайней мере есть гиды. :-) –

+0

Самый быстрый способ - использовать jQuery plugin - https://plugins.jquery.com/cookie/ –

ответ

1

У вас есть несколько способов, хотя я не большой поклонник куки, потому что они не настолько умны для управления.

Вы можете использовать:

  • localStorage API, если вы хотите, чтобы ваши значения сохраняются, пока пользователь не очистит кэш, как это:

    var myValues = []; 
    for(i=0;i<inputs.length;i++) { 
        validateEmail(inputs[i]); 
        myValues.push(inputs[i].value); 
    } 
    
    // Save them fot later use 
    localStorage.myValues = JSON.stringify(myValues); 
    
    // After clicking the button you can retrieve them back 
    var oldValues = JSON.parse(localStorage.myValues); 
    
  • The sessionStorage API, который живет на текущий сеанс браузера (т.е. когда пользователь закрывает браузер, он удаляется):

    var myValues = []; 
    for(i=0;i<inputs.length;i++) { 
        validateEmail(inputs[i]); 
        myValues.push(inputs[i].value); 
    } 
    
    // Save them fot later use 
    sessionStorage.myValues = JSON.stringify(myValues); 
    
    // After clicking the button you can retrieve them back 
    var oldValues = JSON.parse(sessionStorage.myValues); 
    

ПРИМЕЧАНИЕ: Я использую JSON.parse и JSON.stringify, потому что оба объекта хранения (локальные и сессии) может только хранить данные в виде строки.

+0

@saina вы можете скопировать первую часть (из 'var newValues' в' JSON.stringify' ...) и поставить это в вашем коде вместо вашего цикла 'for'. Затем вы можете использовать часть 'var oldValues ​​= JSON.parse (...)' на следующей странице после отправки значений. –

+0

@saina отредактируйте свой вопрос и добавьте новый код, который вы используете (даже код на следующей странице). –

+0

@saina ok, просто добавьте 'localStorage.myValues ​​= JSON.strungify (myValues);' и вы в порядке. После этого на следующей странице вы просто добавите строку 'var oldValues ​​= JSON.parse (localStorage.myValues);', а затем вы сможете использовать переменную 'oldValues' для доступа к ранее выбранным значениям. –

Смежные вопросы