Как сделать чтобы при отправки данных формы через action, не открывалась та страница на которую данные передаются?

Проблема в том, что на странице есть checbox и все отмеченные значения сохраняются в переменную, эту переменную нужно использовать в другом файле. Страниц с checbox у меня 2 и нужно чтобы с первой я переходил на 2, но при этом, данные отправлялись на отдельную страницу.
  • Вопрос задан
  • 451 просмотр
Пригласить эксперта
Ответы на вопрос 2
@php_raper
Рассмотрите 2 варианта

1. Выполняйте редирект со страницы на которую вы отправляете запрос(action) через header(Location: $uri)
2. Используйте асинхронный запрос к файлу, который обрабатывает форму на JS, например AJAX
Ответ написан
Комментировать
Kozack
@Kozack Куратор тега HTML
Thinking about a11y
Если я правильно понял, у вас форма разбита на две страницы.

Простейший способ:

<form action="<?php echo $_POST['action'] ? $_POST['action'] : '' ?>" method="post">


  <section <?php echo $_POST['action'] ? 'style="display:none"' : '' ?>>
    <!-- Тут все поля первой страницы формы -->
    <input type="hidden" name="action" value="handler.php"> <!-- Открываем финальную -->
  </section>


  <section <?php echo $_POST['action'] ? '' : 'style="display:none"' ?>>
    <!-- Тут все поля второй страницы формы -->
  </section>


  <input type="submit">

  
</form>


Ваша форма всегда будет хранить в себе все поля, но в зависимости от обработчика будет показывать ту или иную часть полей. Ну и в поля нужно подставлять значения из предыдущего шага, если они есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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