Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.07.2017, 08:20
Аспирант
Отправить личное сообщение для SkyRewir Посмотреть профиль Найти все сообщения от SkyRewir
 
Регистрация: 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>

Нужно чтобы пользователь при нажатии на кнопку формы переходил на страничку и видел пункты, которые он выбрал и мог дополнительно выбрать что-то ещё, после ввести имя, телефон, емайл и все эти данные попали в обработчик
Схема действия (выбрать пункты на основной странице->Посмотреть что выбрано, выбрать что-то дополнительно, произвести расчет-> Отправить все в обработчик
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 24.07.2017, 08:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от SkyRewir
как передать состояние checkbox'ов на другую страницу
Отправление формы по указанному в ней адресу разве не является такой передачей?
Ответить с цитированием
  #3 (permalink)  
Старый 24.07.2017, 08:57
Аспирант
Отправить личное сообщение для SkyRewir Посмотреть профиль Найти все сообщения от SkyRewir
 
Регистрация: 07.06.2017
Сообщений: 47

Является, но здесь взаимодействуют три страницы.
Первая основная, где можно выбрать услуги.
Вторая промежуточная, просмотреть услуги которые выбраны, возможность дополнительно отметить ещё услугу если нужно, увидеть цену
Третья обработчик, обработать данные полученные со второй страницы, перенаправить на страницу благодарности
Ответить с цитированием
  #4 (permalink)  
Старый 24.07.2017, 09:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от SkyRewir
здесь взаимодействуют три страницы.
Вот это то и плохо, когда на три флажка отдается целая страница, хотя 100% можно все эти три формы принимать и обслуживать одним скриптом.
Более того, если уж выбор последовательный, то почему пользователю доступны сразу три формы, не логичнее ли их отдавать в таком случае по одной, по этапам?

Вы сами создаете проблемы таким подходом. А "передать на другую состояние предыдущей", это не задача клиента, это должен делать сервер - либо хранить у себя в сессии, либо писать в куки пользователю, на каждом этапе извлекая эти данные и отображая их.
Ответить с цитированием
  #5 (permalink)  
Старый 24.07.2017, 09:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сеть отвалилась, хорошо, что закончено получилось. )

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

Но в таком случае две последние группы изначально должны быть скрыты, открываясь последовательно по мере выбора. Иначе все странно выглядит.
Ответить с цитированием
  #6 (permalink)  
Старый 24.07.2017, 09:32
Аспирант
Отправить личное сообщение для SkyRewir Посмотреть профиль Найти все сообщения от SkyRewir
 
Регистрация: 07.06.2017
Сообщений: 47

Сообщение от laimas Посмотреть сообщение
Более того, если уж выбор последовательный, то почему пользователю доступны сразу три формы, не логичнее ли их отдавать в таком случае по одной, по этапам?
Каждая форма отвечает за разную услугу
Первая форма (Бесплатная регистрация ТОО).
Вторая форма checkbox'ы (Выбор услуг по отдельности, заказ печати, визы, ходатайства и тд.).
Третья форма (Выбор пакета услуг + выбор услуг которые не входят в этот пакет checkbox'ы виза, ходатайство, печать).
Для каждой из форм разный обработчик, стоит интеграция с crm системой по api, они попадают в разные воронки продаж и с ними выполняются несвязанные между собой действия, поэтому возможности запихать все это в один обработчик не получится.
Поэтому сделано три разных обработчика под три формы.
Ответить с цитированием
  #7 (permalink)  
Старый 24.07.2017, 09:44
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от SkyRewir
Первая форма (Бесплатная регистрация ТОО).
По коду не видно, чтобы это была регистрация. Есть три похожих формы, если это только не для упрощения ради вопроса.

Сообщение от SkyRewir
Для каждой из форм разный обработчик
...с ними выполняются несвязанные между собой действия, поэтому возможности запихать все это в один обработчик не получится
Ерунда какая, форма, это параметры, если каждый из обработчиков ожидает свои, то уже по параметрам можно знать какой обработчик запрашивается, мало того, параметр-идентификатор можно и явно указать.

Сообщение от SkyRewir
стоит интеграция с crm системой по api
Это другое дело, если это предписано, тогда может быть.

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

Ну а передать как уже написано. Если по каким-то причинам это сделать нельзя, передавайте это непосредственно в форме, скрытыми полями, если формы вывалены не все сразу, а появляются по мере выбора, то сделать это совсем не сложно.
Ответить с цитированием
  #8 (permalink)  
Старый 24.07.2017, 10:16
Аспирант
Отправить личное сообщение для SkyRewir Посмотреть профиль Найти все сообщения от SkyRewir
 
Регистрация: 07.06.2017
Сообщений: 47

Сообщение от laimas Посмотреть сообщение
По коду не видно, чтобы это была регистрация. Есть три похожих формы, если это только не для упрощения ради вопроса.
Да этот код ради упрощения вопроса
Сообщение от laimas Посмотреть сообщение
Но не понятно, почему сразу три формы вывалены на страницу, а что если я сразу отправлю третью минуя две первых? Нет в этом логики.
Форма уйдет на третью доп страницу, где будут видны заказанные услуги(список из checkbox'ов с возможностью до заказать услуги из этой отправленной формы),цена за услуги и нужно ввести имя, телефон, почту, а затем все уходит третий обработчик, минуя обработчик первой и второй формы. Так как услуги в трех формах абсолютно разные
Вот так выглядят формы на главной странице
https://drive.google.com/open?id=0Bw...k1sNWNHV1RYX1U
Ответить с цитированием
  #9 (permalink)  
Старый 24.07.2017, 10:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если "Дальше", значит сначала первая, затем вторая и только потом третья, но никак не все сразу, не так ли?

Я не знаю как взаимодействуют между собой эти страницы, если поле обработки какой-то формы сервер перенаправляет на следующую страницу или страницу "источник", то

header('utl?'.http_build_query($form));


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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать div блок на другую страницу по ссылке kostant jQuery 5 04.09.2013 10:29
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
как обернуть страницу во фрейм если она не хочет? Kvark Элементы интерфейса 19 07.08.2013 15:46
Как сохранить быстро перезагружаемую страницу? avatator Общие вопросы Javascript 8 16.05.2013 01:39
Раскрывающееся меню, как переставить на другую сторону? Resager Events/DOM/Window 8 22.08.2008 21:56