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

Цель: Перенаправить пользователей на разные страницы после отправки формы в Elementor. Перенаправление будет основано на переменной javascript, которая хранится. Я дал кнопке отправки идентификатор с именем submitbutt.

Реализация: Для формы в Elementor я выбрал от Actions after submit до Redirect. Также в разделе Redirect я выбрал опцию to Shortcode и сделал ссылку на мой шорткод [elementor-template id="1343"].

шорткод

Это HTMLон включает в себя JavaScript и выглядит следующим образом.

<script type="text/javascript">
  document.getElementById('submitbutt').onclick = function() {
if (localStorage.getItem('pagex') === 'page_1') {
 window.location = 'https://www.website.com/error/?1';
}
else if (localStorage.getItem('pagex') === 'page_2') {
  window.location = 'https://www.website.com/error/?2';
}
else {
 window.location = 'https://www.website.com/error/';
}
  };

</script>

Проблема: После того, как пользователи нажали кнопку отправки, перенаправление не происходит.

1 Ответ

0 голосов
/ 10 ноября 2019
document.getElementById('submitbutt').addEventListener("click", function(event) {
event.preventDefault();
if (localStorage.getItem('pagex') === 'page_1') {
 window.location = 'https://www.website.com/error/?1';
}
else if (localStorage.getItem('pagex') === 'page_2') {
  window.location = 'https://www.website.com/error/?2';
}
else {
 window.location = 'https://www.website.com/error/';
}
});

Использование обработчика событий с кнопками

Для форм, чтобы настроить поведение кнопки, используйте event.preventDefault ()

...