24.07.2017, 08:20
|
Аспирант
|
|
Регистрация: 07.06.2017
Сообщений: 47
|
|
Как передать состояние checkbox'ов на другую страницу
Добрый день!
Подскажите пожалуйста, как передать состояние checkbox'ов на другую страницу, файл index.php
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
span {
border : 1px solid;
display: inline-block;
text-align: center;
}
form {
margin: 5px;
}
</style>
</head>
<body>
<span>
<p>Форма 1</p>
<form method="post" action="/obr_1">
<input type="checkbox" name="a1"><label>Вариант 1</label><br/>
<input type="checkbox" name="a2"><label>Вариант 2</label><br/>
<input type="checkbox" name="a3"><label>Вариант 3</label><br/>
<button type="submit">Отправить</button>
</form>
</span>
<span>
<p>Форма 2</p>
<form method="post" action="/obr_2">
<input type="checkbox" name="b1"><label>Вариант 1</label><br/>
<input type="checkbox" name="b2"><label>Вариант 2</label><br/>
<input type="checkbox" name="b3"><label>Вариант 3</label><br/>
<button type="submit">Отправить</button>
</form>
</span>
<span>
<p>Форма 3</p>
<form method="post" action="/obr_3">
<input type="checkbox" name="c1"><label>Вариант 1</label><br/>
<input type="checkbox" name="c2"><label>Вариант 2</label><br/>
<input type="checkbox" name="c3"><label>Вариант 3</label><br/>
<button type="submit">Отправить</button>
</form>
</span>
</body>
</html>
Нужно чтобы пользователь при нажатии на кнопку формы переходил на страничку и видел пункты, которые он выбрал и мог дополнительно выбрать что-то ещё, после ввести имя, телефон, емайл и все эти данные попали в обработчик
Схема действия (выбрать пункты на основной странице->Посмотреть что выбрано, выбрать что-то дополнительно, произвести расчет-> Отправить все в обработчик
Спасибо!
|
|
24.07.2017, 08:42
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от SkyRewir
|
как передать состояние checkbox'ов на другую страницу
|
Отправление формы по указанному в ней адресу разве не является такой передачей?
|
|
24.07.2017, 08:57
|
Аспирант
|
|
Регистрация: 07.06.2017
Сообщений: 47
|
|
Является, но здесь взаимодействуют три страницы.
Первая основная, где можно выбрать услуги.
Вторая промежуточная, просмотреть услуги которые выбраны, возможность дополнительно отметить ещё услугу если нужно, увидеть цену
Третья обработчик, обработать данные полученные со второй страницы, перенаправить на страницу благодарности
|
|
24.07.2017, 09:09
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от SkyRewir
|
здесь взаимодействуют три страницы.
|
Вот это то и плохо, когда на три флажка отдается целая страница, хотя 100% можно все эти три формы принимать и обслуживать одним скриптом.
Более того, если уж выбор последовательный, то почему пользователю доступны сразу три формы, не логичнее ли их отдавать в таком случае по одной, по этапам?
Вы сами создаете проблемы таким подходом. А "передать на другую состояние предыдущей", это не задача клиента, это должен делать сервер - либо хранить у себя в сессии, либо писать в куки пользователю, на каждом этапе извлекая эти данные и отображая их.
|
|
24.07.2017, 09:31
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сеть отвалилась, хорошо, что закончено получилось. )
В случае же если для сервера выбор флажка только констатация факта (на сервере не предполагается каких либо операций влияющих или определяющих последующие действия), то выбор в каждой из групп можно хранить и локальном хранилище сервера. Выбор в последней группе отправит серверу и предыдущие.
Но в таком случае две последние группы изначально должны быть скрыты, открываясь последовательно по мере выбора. Иначе все странно выглядит.
|
|
24.07.2017, 09:32
|
Аспирант
|
|
Регистрация: 07.06.2017
Сообщений: 47
|
|
Сообщение от laimas
|
Более того, если уж выбор последовательный, то почему пользователю доступны сразу три формы, не логичнее ли их отдавать в таком случае по одной, по этапам?
|
Каждая форма отвечает за разную услугу
Первая форма (Бесплатная регистрация ТОО).
Вторая форма checkbox'ы (Выбор услуг по отдельности, заказ печати, визы, ходатайства и тд.).
Третья форма (Выбор пакета услуг + выбор услуг которые не входят в этот пакет checkbox'ы виза, ходатайство, печать).
Для каждой из форм разный обработчик, стоит интеграция с crm системой по api, они попадают в разные воронки продаж и с ними выполняются несвязанные между собой действия, поэтому возможности запихать все это в один обработчик не получится.
Поэтому сделано три разных обработчика под три формы.
|
|
24.07.2017, 09:44
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от SkyRewir
|
Первая форма (Бесплатная регистрация ТОО).
|
По коду не видно, чтобы это была регистрация. Есть три похожих формы, если это только не для упрощения ради вопроса.
Сообщение от SkyRewir
|
Для каждой из форм разный обработчик
...с ними выполняются несвязанные между собой действия, поэтому возможности запихать все это в один обработчик не получится
|
Ерунда какая, форма, это параметры, если каждый из обработчиков ожидает свои, то уже по параметрам можно знать какой обработчик запрашивается, мало того, параметр-идентификатор можно и явно указать.
Сообщение от SkyRewir
|
стоит интеграция с crm системой по api
|
Это другое дело, если это предписано, тогда может быть.
Но не понятно, почему сразу три формы вывалены на страницу, а что если я сразу отправлю третью минуя две первых? Нет в этом логики.
Ну а передать как уже написано. Если по каким-то причинам это сделать нельзя, передавайте это непосредственно в форме, скрытыми полями, если формы вывалены не все сразу, а появляются по мере выбора, то сделать это совсем не сложно.
|
|
24.07.2017, 10:16
|
Аспирант
|
|
Регистрация: 07.06.2017
Сообщений: 47
|
|
Сообщение от laimas
|
По коду не видно, чтобы это была регистрация. Есть три похожих формы, если это только не для упрощения ради вопроса.
|
Да этот код ради упрощения вопроса
Сообщение от laimas
|
Но не понятно, почему сразу три формы вывалены на страницу, а что если я сразу отправлю третью минуя две первых? Нет в этом логики.
|
Форма уйдет на третью доп страницу, где будут видны заказанные услуги(список из checkbox'ов с возможностью до заказать услуги из этой отправленной формы),цена за услуги и нужно ввести имя, телефон, почту, а затем все уходит третий обработчик, минуя обработчик первой и второй формы. Так как услуги в трех формах абсолютно разные
Вот так выглядят формы на главной странице
https://drive.google.com/open?id=0Bw...k1sNWNHV1RYX1U
|
|
24.07.2017, 10:32
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Если "Дальше", значит сначала первая, затем вторая и только потом третья, но никак не все сразу, не так ли?
Я не знаю как взаимодействуют между собой эти страницы, если поле обработки какой-то формы сервер перенаправляет на следующую страницу или страницу "источник", то
header('utl?'.http_build_query($form));
принять, отобразить и поместить для "сохранения" если требуется в скрытых полях следующей формы.
Если каждый обработчик отдает следующую форму, то тем более нет проблем отобразить выбранное и скрытыми полями добавить в форму.
|
|
|
|