Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Скрыть форму после авторизации jquery , localStorage (https://javascript.ru/forum/css-html/68671-skryt-formu-posle-avtorizacii-jquery-localstorage.html)

Martovytskyi 01.05.2017 18:03

Скрыть форму после авторизации jquery , localStorage
 
Добрый день, прошу помощи. Как скрыть форму после авторизации, перезагрузки страницы?

<form action="" method="POST" id="login">
  <div class="form-group">
    <label for="inputEmail">Адрес email:</label>
    <input type="email" class="form-control" id="inputEmail" placeholder="Введите email">
  </div>
  <div class="form-group">
    <label for="inputPassword">Пароль:</label>
    <input type="password" class="form-control" id="inputPassword" placeholder="Введите пароль">
  </div>
  <div class="checkbox">
    <label>
      <input type="checkbox"> Запомнить
    </label>
  </div>
  <button type="submit" class="btn btn-default">Войти</button>
</form>


$(document).ready(function() {
  $("button.btn").click(function() {
    $("#login").slideUp("slow", function() {
      $(this).remove();
    });
  });
});


Для удобства тут https://codepen.io/martovytskyi/pen/oWWaVM

Но не то, т.к. после перезагрузки вернется к исходному положению.
Думаю смотреть надо в сторону localStorage, но пока безрезультатно.

laimas 01.05.2017 18:12

Цитата:

Сообщение от Martovytskyi
скрыть форму после авторизации, перезагрузки страницы

На каком основании сервер клиенту выводит форму авторизации (направляет на страницу авторизации)? Если пользователь не авторизован. А если авторизован, сервер об этом знает? Да.

Причем тут клиент?

Martovytskyi 01.05.2017 18:25

Цитата:

Сообщение от laimas (Сообщение 451400)
На каком основании сервер клиенту выводит форму авторизации (направляет на страницу авторизации)? Если пользователь не авторизован. А если авторизован, сервер об этом знает? Да.

Причем тут клиент?

Сервер знает. После того, как присылает ответ мне и надо скрыть форму. Может конечно что то не понимаю

laimas 01.05.2017 18:36

Кто написал "после авторизации, перезагрузки страницы", я? Если перезагрузка, то какие проблемы не отдавать серверу форму клиенту, если сервер знает, что авторизация прошла?

Поясняйте как производится авторизация иначе можно долго дискутировать.

Martovytskyi 01.05.2017 18:51

Цитата:

Сообщение от laimas (Сообщение 451404)
Кто написал "после авторизации, перезагрузки страницы", я? Если перезагрузка, то какие проблемы не отдавать серверу форму клиенту, если сервер знает, что авторизация прошла?

Поясняйте как производится авторизация иначе можно долго дискутировать.

Подразумевал, что авторизация с перезагрузкой страницы.
Работает так:
Пользователь авторизуется, сервер присылает "ок", клиенту выводится сообщение "добро пожаловать ..." и "log out", но div с формой остается. Вот и хочу log out перенести в nav, а саму форму скрыть, но не получается, т.к. в моем примере скрывается до того, как сервер даст ответ, что пользователь авторизован.

laimas 01.05.2017 19:05

Цитата:

Сообщение от Martovytskyi
авторизация с перезагрузкой страницы

Значит вы не понимаете механизма.

1) Вход пользователя.
2) Сервер проверяет авторизован ли он.
3) Сервер формирует страницу, если пользователь авторизован (куки), то элемента Вход на страницу не выводится, иначе вывод.
4) Пользователь не авторизован, жмет Вход и получается форму.
5) Форма заполняется и отправляется серверу (естественная отправка).
6) Проверка формы и если ошибки возврат формы клиенту и ошибок.
7) Авторизация прошла успешно, сервер либо перенаправляет клиента на другую страницу, либо выдает эту же, но без формы.

То есть все решает сервер, причем тут клиент и JS?

Вариант 2 - авторизация производится в асинхронном режиме, то есть форма отправляется посредством Ajax. В этом случае, если нет перенаправления после авторизации, то форма удаляется, что производится по ответу сервера. Если же перенаплавление, то опять таки сервер знает, что авторизация Ок и не выводит формы.

Martovytskyi 01.05.2017 19:15

Цитата:

Сообщение от laimas (Сообщение 451406)
Значит вы не понимаете механизма.
То есть все решает сервер, причем тут клиент и JS?
.

Хорошо. Спасибо за разъяснение


Часовой пояс GMT +3, время: 21:12.