Как проверить элемент после отправки формы и загрузки новой страницы в Jquery? - PullRequest
0 голосов
/ 30 октября 2019

У меня есть форма входа на моей странице и функция, которую я хочу вызывать ТОЛЬКО, если пользователь входит в систему, иначе она не будет вызываться (это функция, которая отслеживает, могут ли пользователи успешно войти в систему). Я хочу проверить, удалось ли пользователю войти в систему, проверив, что после отправки формы домашняя страница успешно загружается, и я могу проверить, существует ли определенный элемент с домашней страницы (как если бы вход не был успешным,ничего с этой страницы не покажет). Проблема в том, что я не знаю, как ждать следующей страницы для загрузки ПОСЛЕ отправки формы. На данный момент этот код вызывает функцию независимо. Я пытался объединить document.ready и window.load, но все же не могу сделать прорыв.


$(document).on("submit", "#myForm", function () {

           if ($('#someHomePageElement').length) {

               alert("hello");
               // Call Function 

           }
    });

Проблема заключается в том, что он не ждет, пока я не доберусь до домашней страницы или не проверю, существует ли элемент. Я не очень опытен с Jquery, поэтому извиняюсь, если это очень простой вопрос - любая помощь будет принята с благодарностью! Спасибо!

1 Ответ

2 голосов
/ 30 октября 2019

Вы сказали, что отправка формы загружает новую страницу. Это означает, что код на текущей странице больше не существует, поэтому код не может ничего делать в контексте новой страницы (поскольку код больше не существует).

Вместо этого:

  • Отслеживание на стороне сервера или

  • Поместите код на страницу, которая загружается после успешной отправки формы, или

  • Отправьте форму через ajax, и в случае успеха отследите информацию, а затем установите местоположение для новой страницы для загрузки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...