Перейти к содержимому

Html как убрать подтверждение повторной отправки формы

  • автор:

Как убрать окно «Подтвердите повторную отправку формы»?

На странице есть формы, которые обрабатываются на той же странице.
И в зависимости от отправленной формы, выводятся соответствующие данные.
Но при обновлении страницы, когда форма уже отправила данные, всплывает это окно, как его убрать без редиректа?

  • Вопрос задан более трёх лет назад
  • 4488 просмотров

5 комментариев

Простой 5 комментариев

Никак. Что бы выводить в зависимости от отправленной формы соответствующие данные, сохраняйте их в файл или в сессию, и делайте редирект.

Compolomus

Дмитрий @Compolomus Куратор тега PHP
Это арбузер шалит, после обработки и прочего, сделайте редирект на реферер
Aspirant555 @aspirantes
Дмитрий, а если вылезает при возврате на предыдущую страницу?

Compolomus

Дмитрий @Compolomus Куратор тега PHP
aspirantes, для этого и нужен редирект, чтоб очистить данные пост
Aspirant555 @aspirantes

Дмитрий, пост очищается, но при возврате на страницу назад, браузер выдает предупреждение о форме, но не вводит её. Выглядит как критическая ошибка (требующая обновить страницу), неприятно, и не знаю как решить, пока планирую wndow.replace в javasrypt. Но хотелось бы в PHP вопрос решить.

Решения вопроса 0
Ответы на вопрос 3

ShameQNS

Смените метод POST на GET.
Ответ написан более трёх лет назад
Нравится 1 3 комментария

space2pacman

Ярослав Иванов @space2pacman
Не пишите если не знаете в чем отличие пост от гет.

FanatPHP

Да я смотрю, ты просто звезда тостера. Что ни ответ — то брильянт

ShameQNS

Ярослав Иванов, судя по вопросу, у автора какая-то форма фильтрации. И скажите, зачем ему использовать в этом случае метод POST? Я не вижу причин. В таком случае будет уместен именно GET.

FanatPHP, ну простите меня идиота. Предположившего, что в поисковой форме уместнее GET, а не POST.

vitaosipq

разработчик, начинающий фрилансер

Если я правильно понял вопрос, то чтобы не появлялось окно браузера когда форма уже заполнена данными (во избежания из потери и повторного ввода) нужно как-раз таки сделать редирект. Если данные нужны в полях, проще сохранить в сессию и после редиректа со страницы отображать в полях, при повторном очищать.

Html как убрать подтверждение повторной отправки формы

Если заполнить поле ввода и отправить, то все нормально. Но если после этого обновить страницу с пустым полем, вылетит сообщение: «Страница, которую вы хотите открыть, использовала введенную вами информацию. При возврате на эту страницу может потребоваться повторить выполненные ранее действия. Продолжить?»

Как сделать так, чтобы оно не выпадало? Или, хотя бы, автоматически нажималась кнопка «Далее» ?

Parallelogram
Посмотреть профиль
Найти ещё сообщения от Parallelogram

Форумчанин
Регистрация: 18.01.2011
Сообщений: 173

А можно как-нибудь сделать так, чтобы поле ввода сохраняло текст введенный до этого? Не имеет разницы js это или html. Каким макаром избежать этого предупреждения? Прошу, помогите(

Parallelogram
Посмотреть профиль
Найти ещё сообщения от Parallelogram

Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054

Есть несколько вариантов решения этой проблемы.
1. Если вы используете какой то серверный язык программирования, то после отправки, например, POST сообщения (ну когда форму php скрипт будет обрабатывать), вместо вывода результата можно произвести редирект на эту же страницу. и в результате она откроется но уже без POST и ругаться не будет.
2. Использовать AJAX отправку данных на сервер, Тогда там вообще форма не нужна будет.

Писано по д’Эльфийски
Форумчанин
Регистрация: 18.01.2011
Сообщений: 173

Можно поподробнее по первому пункту. При перезагрузке страницы я попадая на неё, но в состояние до ввода текста в поле?
Каким путем лучше сделать редирект (я просто не силен в анализе вариантов):

echo '"text/javascript">'; echo 'window.location.href="'.$url.'";'; echo ' ';

Подтвердите повторную отправку формы, как убрать?

Здесь посмотри https://fructcode.com/ru/qa/pochemu-pri-kajdom-obnovlenii-tablisi/ Чтобы каждый раз не обновлялись данные, там есть решение. Вообще, вы скорее всего ранее пытались отправить данные из формы и по этой причине браузер спрашивает повторное подтверждение отправки. Просто выделите в браузере адрес сайта и нажмите интер, потом не должен просить подтверждение отправки.

Sign up or Log in to write an answer

  • Интерактивные уроки и курсы программирования и создания сайтов (дистанционное обучение) помогут вам в игровой форме изучить основы языков программирования веб-разработки и веб-программирования с нуля. Обучение онлайн 24/7.

Общие ссылки

  • Отзывы
  • Политика конфидециальности
  • Условия использования
  • Блог
  • Цена и оплата
  • Курсы и скринкасты
  • Сертификаты
  • Партнерская программа
  • Комьюнити

Наши курсы и скринкасты

  • HTML/CSS Advanced
  • Bootstrap 4
  • Vue JS
  • Linux, GIT and web-hosting
  • HTML and CSS
  • Modern Javascript
  • Javascript/jQuery
  • Codeigniter
  • Все курсы и скринкасты

Как убрать окно «подтверждение повторной отправки формы» при выборе пункта выпадающего списка в Ggobal filter?

В шапке сайта, есть выпадающий список по выбору города, при этом на странице меняется информация в представлении в котором настроен контекстный фильтр по модулю global filter.
Если в выпадающем списке выбираю город например Оренбург (термин таксономии), то после обновления на странице появляются материалы соответствующие Оренбургу.
Но если я просто нажимаю на «обновить страниц» то перед обновлением появляется диалоговое окно браузера.
с текстом, что на странице заполнена форма и при обновлении страницы возможно информация потеряется.
Как избавиться от этого окна? Это предупреждение мне точно не нужно, и тем более пользователю..
во вложении прикрпил скриншот

Вложение Размер
Иконка изображенияsnimok.jpg 38.47 КБ
  • Drupal7
  • Есть вопрос
  • Решение проблем
  • Блог
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Лучший ответ

ivnish 13 марта 2018 в 19:00

Нужно сделать так, чтобы форма отправлялась фоном, т.е. использовать ajax

Комментарии

ivnish 13 марта 2018 в 19:00

Нужно сделать так, чтобы форма отправлялась фоном, т.е. использовать ajax

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Реакции

engenes 14 марта 2018 в 8:37

Насколько я знаю этот модуль не предусматривает ajax.
И вроде и на drupal.org его архив подсвечен зеленым, то есть никаких багов не имеет. А входит мне нужно этот модуль еще руками доделывать

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Реакции

bumble 14 марта 2018 в 8:57

Это не баг, и не «поведение модуля».

Это стандартное поведение браузера — после отправки пост-запроса спрашивать о необходимости отправки данных повторно.

Вы же не хотели бы, к примеру, случайно 2+ раза заплатить за что-то, если нечаянно (или спецом) нажмете F5 на странице.

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Реакции

gun_dose 14 марта 2018 в 9:12

Абсолютно верно. Если страница получена путём отправки формы, то браузер всегда вывешивает такое предупреждение. Есть кстати ещё прикол с дебагом форм — когда обновляешь страницу, а потом отправляешь форму, могут использоваться значения от прошлых отправок.

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Реакции

да как это не назови, любому пользователю будет неудобно закрывать дополнительные диалоговые окна. А разработчику то есть мне нужно дописывать ajax руками, что я собственно, и сделал, плохо что в модуле это не предусмотренно из коробки.

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Реакции

bumble 14 марта 2018 в 10:20

Зачем такое руками делать? Views поддерживает AJAX’ификацию фильтров «из коробки».

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Реакции

xakd 14 марта 2018 в 14:32

Используйте Оперу Престо, она не спрашивает ))

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Реакции

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *