Задать вопрос
Capitan_S
@Capitan_S
Начинающий Сусанин

Как правильно написать код для внесение данных из поля формы в LocalStorage с последующим использованием при перезагрузке страницы?

В целях изучения jQuery пытаюсь написать код для работы модального окна с формой, которое появляется и исчезает с помощью jQuery. Появление и исчезновение реализовал, а потом захотелось реализовать метод сохранения всего, что внесено в графе "Login", в localStorage, на случай незапланированной перезагрузки, и с последующим извлечением из localStorage в эту же графу, когда пользователь повторно откроет эту форму. Получилось, но хотелось бы узнать как сделать это более красиво и покороче. Можете подсказать, что в этом коде лишнее и как можно его переделать по другому?

$(function(){
    var storageLogin = localStorage.getItem('login'),
        writePopup = $('.i-write-us');

    var login;
    if (writePopup) {
        login = $("input[name='login']");
    }

    login.keyup(function() {
        localStorage.setItem('login', $("input[name='login']").val());
    });

    var email;
    if (writePopup) {
        email = $("input[name='email']");
    }

   $('.btn-write-us').click(function(event){
        event.preventDefault();
        writePopup.animate({ opacity: 'show' }, 'slow');
        if (storageLogin) {
            $("input[name='login']").val(storageLogin);
           email.focus();
        } else {
            login.focus();
        }
    });
    $('.i-write-us-close').click(function(event){
        event.preventDefault();
        writePopup.animate({ opacity: 'hide' }, 'slow');
    });
    $("input[type='reset']").click(function(){

        writePopup.animate({ opacity: 'hide' }, 'slow');
    });
    writePopup.keydown(function(event) {
        if ( event.which === 27 ) {
            writePopup.animate({ opacity: 'hide' }, 'slow');
        }
    });
});
  • Вопрос задан
  • 312 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
baskerville42
@baskerville42
Учусь работать (Junior)
login.keyup(function() {
        localStorage.setItem('login', $("input[name='login']").val());
    });

Вот в этом месте я бы довил задержку через setInterval что бы когда юзверь ввёл половину своего логина при перезагрузке у него не была абракадабра (вместо MyUsername > MyUsern etc). В остально вроде всё правильно на первый взгялд.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы