Сохранить состояние
Прошу вашей помощи. На странице есть 2 формы, при заполнении первой по клику она скрывается и появляется вторая форма. Как мне сохранить такое состояние (видимость форм) при перезагрузке страницы или возврате на нее. Код обработчика форм:
$( document ).ready(function() {
$("#btn_name").click(
function(){
sendAjaxForm('form_pass', 'form_name', 'save_user.php');
return false;
}
);
});
function sendAjaxForm(form_pass, form_name, url) {
$.ajax({
url: url,
type: "POST",
dataType: "html",
data: $("#"+form_name).serialize(),
success: function(response) {
result = $.parseJSON(response);
$('#form_name').hide();
$('#form_pass').toggle();
},
error: function(response) {
$('#error_message').html('Error message.');
}
});
}
|
Цитата:
- записать в куки - записать в локальное хранилище При чтении страницы прочитать. Если есть запись о скрытии - скрыть нужную форму. |
Цитата:
|
Volun, пример работы с localStorage:
https://javascript.ru/forum/misc/769...tml#post504507 |
Да, спасибо, уже разобрался. Вот код если кому понадобится:
$( document ).ready(function() {
var hideName = localStorage.getItem("hideName");
$("#form_name").css("display",hideName);
var showPass = localStorage.getItem("showPass");
$("#form_pass").css("display",showPass);
$("#btn_name").click(
function(){
sendAjaxForm('form_pass', 'form_name', 'save_user.php');
return false;
}
);
});
function sendAjaxForm(form_pass, form_name, url) {
$.ajax({
url: url,
type: "POST",
dataType: "html",
data: $("#"+form_name).serialize(),
success: function(response) {
result = $.parseJSON(response);
$('#form_name').hide();
$('#form_pass').toggle();
localStorage.setItem("hideName","none");
localStorage.setItem("showPass","block");
},
error: function(response) {
$('#error_message').html('Error message');
}
});
}
|
Господа, еще такой вопрос. Как мне получить значение поля email из формы #form_name и передать его в скрытое поле hidden_email формы #form_pass ?
|
Цитата:
А, что за поле email? Это его ИД? Показал бы фрагмент html... |
Цитата:
После этого вызвать отправку формы #form_pass. Это ИД той формы?
document.getElementById('form_pass').submit();
|
Вот код обеих форм. Они находятся на одной странице, и по клику первая скрывается, а вторая появляется без перезагрузки страницы.
<form method="post" id="form_name"> <input name="first_name" placeholder="First Name" class="form-control" data-i18n=""> <input name="last_name" placeholder="Last Name" class="form-control" data-i18n=""> <input name="email" placeholder="Email" class="form-control" data-i18n=""> <button type="submit" id="btn_name" class="btn-formnav btn"><span data-animation-name="next-span"><span data-i18n="">NEXT</span> ></span></button> </form><br> <form method="post" id="form_pass"> <input name="password" placeholder="Password" class="form-control" data-i18n=""> <input name="pass_conf" placeholder="Confirm Password" class="form-control" data-i18n=""> <input name="hidden_email" class="form-control" data-i18n="" style="display: none;"> <button type="submit" id="btn_pass" class="btn-formnav btn"><span data-animation-name="next-span"><span data-i18n="">NEXT</span> ></span></button> </form> |
В скрипте пост#6 перед 10 или после 10 строки добавить
hidden_email.value = email.value; |
| Часовой пояс GMT +3, время: 00:08. |