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

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

  • автор:

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 ' ';

$URL = «index.php» ;
header ( «Location: $URL » ); ?>
Редирект будет срабатывать при нажатии F5 ?

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

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

Подскажите как убрать это всплывающее окно? каждый раз при обновлении оно выскакивает, даже есть код пустой.

4 years ago

Похожие вопросы

  • Почему на странице отображается код вместо результата?
  • Php/ mysql. как выполнить домашнее задание player.php?
  • Установка xampp на os x, как установить?
  • Как получить данные методом get?
  • Как сделать домашнее задание с player.php в курсе php/mysql?
  • Не доступен phpmyadmin
  • Выходит ошибка в codeigniter invalid argument supplied for foreach(), как исправить?
  • Ошибка undefined index: name, как исправить?
  • Как выводить видеофайлы
  • Как подключить css в php?

Один ответ

Чтобы каждый раз не обновлялись данные, там есть решение. Вообще, вы скорее всего ранее пытались отправить данные из формы и по этой причине браузер спрашивает повторное подтверждение отправки. Просто выделите в браузере адрес сайта и нажмите интер, потом не должен просить подтверждение отправки.

4 years ago

Ваш ответ

  • Создается структура файлов в visual studio code, не так как в уроке, как решить эту проблему?
  • Не работает emmet в visual studio code?
  • Не проходит оплата россия карта mastercard и есть возможность узнать цену в рублях?
  • Здраствуйте у меня вопрос такой как мы можем получить только name с помощью цикл foreach?
  • Как в sublime text открыть 2 папки в одном окне? открывается еще одно окно sublime text?
  • Хочу изучить javascript для работы с nodejs, какой минимальный уровень знаний нужен?
  • Есть ли готовые коды к урокам?
  • Как открыть исходный код веб-страницы на mac в браузере?
  • Не добавляется запись из xml в бд, что делаю неправильно?
  • Позиционирование логотипа по центру хедера как сделать?
  • Какой правильный синтаксис медиа запросов css?
  • Как установить xampp на windows 32-bit?
  • Как задать фоновое изображение для шапки (header) в bootstrap 3?
  • Как прижать footer к низу в bootstrap 3?
  • Xampp или open server?

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

Русский —>

  • Отзывы о курсах FructCode
  • Политика конфиденциальности
  • Условия использования
  • Цены и оплата
  • Все курсы
  • Партнерская программа
  • Комьюнити
  • HTML/CSS Advanced
  • Bootstrap 4
  • VueJS Фреймворк
  • Yii2 Фреймворк
  • Modern Javascript
  • Javascript/jQuery
  • Все курсы

Есть вопросы? Найдем ответы! Написать нам Присоединяйтесь к нам!

Как избежать повторной отправки формы при обновлении?

Дело в том, что после отправки пост запроса скрипт принимает отправленные данные, проверяет их на корректность (валидность, заполненность обязательных данных и т.д.) и выдает ответ – либо операция прошла успешно, либо произошла ошибка и список ошибок (например: ошибка — поле «имя» не заполнено. А на странице отправки уже в свою очередь выдается соответствующее сообщение: отправка успешна или не успешна. Так вот есть ли элегантный вариант предотвратить повторную отправку формы? Например мне пришла идея что если в javascript поймать событие обновления страницы(если такова есть отменить её и просто сделать переход по текущей ссылке. Или если можно на сервере после получении данных POST запроса удалить какие нибудь информацию о запросе может она не будет повторно отправляться так как данные удалены? А еще редирект не вариант. Так как после редиректа я не могу передать ответ скрипта. А еще махинации с дополнительным полем с уникальным значением сохраненным на сессии и дальнейшая их проверка тоже крайний вариант. Что скажете есть какие нибудь варианты?

Отслеживать
задан 11 июл 2016 в 15:17
Shuhratjon Jumaev Shuhratjon Jumaev
702 1 1 золотой знак 6 6 серебряных знаков 23 23 бронзовых знака
Кстати Ajax тоже крайний вариант))
11 июл 2016 в 15:20

5 ответов 5

Сортировка: Сброс на вариант по умолчанию

Чтобы было понятно, это вопрос уровня таблицы умножения в веб-программировании. И размышления вида «делать редирект или не делать» это все равно как если бы рассуждать «дважды два равное четыре не вариант. мне нужно пять».

После POST запроса всегда должен быть редирект. Точка. Переходим к делению в столбик.

А еще редирект не вариант. Так как после редиректа я не могу передать ответ скрипта.

Ответ, если очень хочется его передать, пишется в сессию, и после редиректа оттуда показывается.

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

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

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

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

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

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

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

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

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