Irina97
@Irina97
Начинающий веб-разработчик

Как правильно настроить cookies в JavaScript?

Здравствуйте! Нужна ваша помощь! Я новичок в Java Script, никак не могу понять, как правильно настроить куки в форме подписки на сайте.
Вот что есть на данный момент: - сама форма подписки(всплывающее окно)
<script>
        $(document).ready(function(){
            $('#submit').click(function(){
                $.post("write.php", $("#scf-form").serialize(),  function(response) {
                    $('#success').html(response);
                });
                 
                return false;
            });
          
        });
    </script>

		<div id="basic-modal-content">
		<form id="scf-form" action="write.php" method="POST">
		<p><input type="text" name="scf-name" class="txt" id="scf-name" placeholder="Ваше Имя" /></p>
		<p><input type="email" name="scf-email" class="txt" id="scf-email" placeholder="Ваш E-mail" /></p>
		<p><input id="submit" type="submit" value="ПОДПИСАТЬСЯ" name="submit" /></p>
		<div id="success"></div>
		</form>
		</div>


и код для куки (у меня пока получилось сделать, чтобы окно показывалось раз в неделю):
(function($) {
$(function() {
  if (!$.cookie('pop_up')) {
   $('#basic-modal-content').modal();
  }
  $.cookie('pop_up', true, {
    expires: 7,
    path: '/'
  });
})

})(jQuery)


Суть вопроса в том, как сделать так, чтобы уже подписавшиеся не видели всплывающее окно (при успешной подписке - $('#success').html(response);, может, это можно использовать, как условие для запоминания куки), а остальные пользователи соответственно видели это окно. Заранее благодарю за ответ.)
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
@be_a_man
Для куки есть хороший плагин https://github.com/js-cookie/js-cookie.

На сабмит формы вешаешь событие запись в куки (Cookies.set). При загрузке, проверяешь есть куки или нет. Если есть display: none на форму. Нет куки - форма всплывает.

<script>
$(document).ready(function(){
	$('#submit').click(function(){
		$.post("write.php", $("#scf-form").serialize(),  function(response) {
			$('#success').html(response);
			Cookies.set('popup-form', 'submit');
		});

		return false;
	});

});
</script>

<script>
	$(document).ready(function(){
		if ( Cookies.get('popup-form') == 'submit' ) {
			$('#basic-modal-content').css({'display': 'none'});
			// Или свою функцию
			// Или проверяешь, если !== то наоборот всплывает.
		};
	});
</script>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы