2016-04-29 4 views
-1

Сегодня я придумал что-то интересное в одном из моих проектов. У меня есть окно поиска с несколькими полями (например: номерной знак, дата покупки, состояние), а некоторые из них имеют поле оператора. (например: <, =) После того, как я опубликовал свой поиск и вернул результат, скажите, что я хочу изменить одного из моих операторов, но всегда меняет его на первый элемент. Есть ли что-нибудь, что я могу сделать, чтобы «сохранить» состояние полей?Сохранить состояние поля формы html

Я мог бы сделать это с сессиями, но это довольно большая форма, поэтому было бы уродливо.

Благодарим за ответы!

+2

Используйте 'localStorage'. –

+0

Вы хотите принять мой ответ? –

ответ

1

Небольшой фрагмент для вас с помощью localStorage:

  • Я рассчитал как 5 секунд, чтобы сделать резервную копию всего на форме.
  • Загружает материал с localStorage после загрузки страницы.

window.onload = function() { 
 
    if (typeof(Storage) !== "undefined") { 
 
    if (typeof localStorage["name"] !== "undefined") { 
 
     document.getElementById("name").value = localStorage["name"] ? localStorage["name"] : ""; 
 
     document.getElementById("pass").value = localStorage["pass"] ? localStorage["pass"] : ""; 
 
    } 
 
    // Code for localStorage/sessionStorage. 
 
    setInterval(function() { 
 
     document.getElementById("saving").innerHTML = 'Saving...'; 
 
     setTimeout(function() { 
 
     document.getElementById("saving").innerHTML = ''; 
 
     }, 500); 
 
     localStorage.setItem("name", document.getElementById("name").value); 
 
     localStorage.setItem("pass", document.getElementById("pass").value); 
 
    }, 5000); 
 
    } 
 
};
strong {display: inline-block; width: 50px;}
<form action=""> 
 
    <strong>Name:</strong> <input type="text" name="name" id="name" /><br> 
 
    <strong>Pass:</strong> <input type="password" name="password" id="pass" /><br> 
 
    <span id="saving"></span> 
 
</form>

Примечание:localStorage является песочницы особенность в фрагментах. Так что здесь не работает. Проверка в JSBin: http://output.jsbin.com/bubukunoke

0

Я решил проблему с сеансами в конце.

Когда я отправляю форму, я сохраняю все содержимое в сеансе и в представлении проверяю, существует ли он, и если да, то я устанавливаю его как значение поля.

+0

Это было опубликовано как ответ, но он не пытается ответить на вопрос. Это должно быть редактирование, комментарий, другой вопрос или вообще исключить. –