как убрать перезагрузку страницы после отправки формы
Контроль перезагрузки страницы: 2 способа
Кликнув по ссылке, кнопке или отправив форму, произошла перезагрузка страницы и ваша панель в режиме отладки Google Tag Manager обновилась? Из-за этого вы не можете выбрать переменную для триггера и настроить корректно отслеживание? Предлагаю 2 решения этой проблемы.
Специальный код
Скопируйте этот код, вставьте его в консоль разработчика (вызов клавишей F12 для Google Chrome) на вкладке Console. Нажмите Enter:
В результате вы увидите undefined в последней строчке. Событие beforeunload позволяет веб-странице вызвать диалоговое окно подтверждения, спрашивающее пользователя, действительно ли он хочет покинуть страницу. Если пользователь подтверждает, браузер переходит на новую страницу, в противном случае он отменяет навигацию.
Нам этом все! Теперь вы можете совершать клики по кнопкам, переходить по ссылкам и отправлять форму. Перед перезагрузкой страницы или переходом на другой сайт вы будете видеть всплывающее окно, в котором будет две кнопки: Закрыть и Отмена.
Если выбрать Закрыть, то диалоговое окно пропадет и начнется процесс перезагрузки страницы. Если нажать Отмена, то сценарий все равно произойдет, но вы останетесь на прежней вкладке и сможете проанализировать события на временной шкале отладчика в Google Tag Manager.
Например, на главной странице моего сайта есть форма записи на вебинар. При заполнении поля Email и отправки заявки страница автоматически перезагружается, и пользователь перенаправляется на страницу с другим URL.
Событие отправки формы сработало, но страница не перезагрузались (хотя без кода перезагружается)
Но благодаря событию beforeunload и специальному коду, мы можем предотвратить автоматическую перезагрузку страницы. Просто запускаете код, совершаете событие и в диалоговом окне нажимаете Отмена. Триггер сработает, и вы сможете в режиме предварительного просмотра GTM проанализировать его состояние.
Расширение для браузера Google Chrome
Если вы не хотите работать с кодом и консолью разработчика, есть специальное расширение для Google Chrome stopReload, которое блокирует переадресацию на другие страницы при нажатии на ссылки и кнопки. Его разработал Павел Мрыкин (эксперт по сквозной аналитике в компании Calltouch).
Чтобы его добавить к себе в браузер, перейдите по ссылке и нажмите Установить:
В правом верхнем углу у вас появится иконка расширения.
Чтобы активировать расширение, нажмите на иконку stopReload. Круг окрасится в красный цвет. После этого вы можете совершать клики по кнопкам и ссылкам. Как и в случае со специальным кодом, вы будете видеть всплывающее окно с кнопками Закрыть и Отмена.
Павел записал небольшое видео с демонстрацией работы расширения stopReload:
отключить перезагрузку страницы после отправки формы
У меня есть скрипт, который создает динамическую таблицу. После того, как пользователь нажмет кнопку, будет добавлен следующий row в нижней части таблицы.:
Поэтому прямо сейчас я добавляю строку со значением some text в столбцы 2-5 и с кнопкой drop down list в качестве формы в первом столбце.
Но всякий раз, когда я отправляю свою форму, страница перезагружается, так что эффект моей функции JavaScript больше не существует, в результате я получаю точно такую же страницу, как и раньше, и строка, которую я добавил, исчезает.
5 ответов
Я хочу полностью отключить автоматическую перезагрузку после любого сбоя в Windows. Итак, я установил HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\AutoReboot до 0, что должно отключить автоматическую перезагрузку. Однако в следующий раз, когда компьютер проверил ошибку, он.
Можно ли использовать кнопку facebook connect для отправки формы? У меня есть форма на моей домашней странице, и я хотел бы отправить ее с помощью кнопки facebook connect (или кнопки submit, если пользователь уже подключен). Я хочу предотвратить перезагрузку домашней страницы после подключения.
Вы можете рассмотреть возможность использования AJAX для отправки формы: http://www.malsup.com/jquery/ форма/
Таким образом, вы можете использовать данные в форме для выполнения некоторых действий и предоставления обратной связи пользователю без необходимости запускать полное обновление страницы.
Я думаю, что вы немного потерялись со всеми возможностями PHP/Javascript.
Чтобы обновить то, что вы показываете пользователю, вам не нужно отправлять форму, даже если вы хотите использовать данные, введенные в форму пользователем. Это можно сделать с помощью Javascript (без перезагрузки страницы) :
Теперь, если вы хотите отправить форму для получения и использования пользовательского ввода в вашем PHP (например, для обновления базы данных. ), вы можете отправить форму и при повторном отображении ее (после перезагрузки страницы) инициализировать ее предыдущим пользовательским вводом. Делать что-то подобное :
Либо отмените поведение по умолчанию при нажатии кнопки, либо измените его с на или (оба не имеют поведения по умолчанию).
Если вы добавите return false; в функцию, вызываемую при отправке формы, это предотвратит отправку формы.
Дополнительный return false; делает так, что форма не представляется, как обычно.
Как запретить перезагрузку страницы после отправки формы — JQuery
Я работаю над сайтом для своего класса по разработке приложений, и у меня самая странная проблема.
Я использую немного JQuery для отправки данных формы на страницу php с именем ‘process.php, а затем загружаю их в мою БД. Странная ошибка заключается в том, что страница перезагружается при отправке формы, и я не могу или не могу понять, как заставить JQuery работать только в фоновом режиме. В этом и заключается смысл использования JQuery, ха-ха. В любом случае, я отправлю весь соответствующий код, дайте мне знать, если вам нужно что-нибудь еще.
Это мой php, если это актуально:
Это скриншот журнала:
Решение
элемент, при размещении в форме, будет отправлять форму автоматически, если не указано иное. Вы можете использовать следующие 2 стратегии:
Решение 1:
Вставьте дополнительный type Присвойте разметку вашей кнопке:
Решение 2:
Запретить отправку формы по умолчанию при нажатии кнопки. Обратите внимание, что это не идеальное решение, потому что на самом деле вы должны слушать событие отправки, а не событие нажатия кнопки:
Лучший вариант:
В этом улучшении мы слушаем событие отправки, отправленное элемент:
Чтобы значение элемента формы было включено в сериализованную строку, элемент должен иметь атрибут name.