Помогите разобраться с формой

12
seosniks
На сайте с 13.08.2007
Offline
389
807

Доброго всем дня.

Делаю форму которая должна заполняться пошагово.

Пример

главная страница формы

Заказчик *

<FORM METHOD="POST" ACTION="deliv.php"> 

<INPUT NAME="zakaz_name" SIZE=35>
имя <INPUT NAME="zakaz_name" SIZE=35>
фамилия<INPUT NAME="zakaz_name" SIZE=35>

кнопка вперед>>>>

после нажатия переходим к форме 2

Форма 2

Город   <INPUT NAME="zakaz_name" SIZE=35>  *  

Страна <INPUT NAME="zakaz_name" SIZE=35> *
Штат <INPUT NAME="zakaz_name" SIZE=35> *
Почтовый индекс *

кнопка вперед>>>>

после нажатия переходим к форме 3

При этом на каждом этапе видна только та форма на которой мы находимся.

По сути как инсталятор скрипта, заполняеться в несколько этапов

так же закрывающий <FORM и </FORM> придеться делать для каждого этапа, или хватит одного?

Обычную форму сделать могу без проблемм, но там очень много полей, по этому хочу сделать красиво.

savage
На сайте с 10.01.2007
Offline
224
#1

А в чем проблема то? По сути это три разные формы на 3-х разных страницах, если пошагово. Переменные с одного шага просто вставлять в следующую форму через <input type="hidden"> и все.

<FORM> и </FORM> можно сделать как один раз, а между ними динамически, в зависимости от шага менять содержимое формы, так и целиком в зависимости от шага менять все содержимое <FORM> и </FORM>, включая названия форм, это уже как больше нравится.

Купить / продать сайт ( https://www.telderi.ru/?pid=ca1f70 ) | Недорогой и надежный хостинг ( https://www.get-host.ru )
seosniks
На сайте с 13.08.2007
Offline
389
#2
savage:
А в чем проблема то? По сути это три разные формы на 3-х разных страницах, если пошагово. Переменные с одного шага просто вставлять в следующую форму через <input type="hidden"> и все.
<FORM> и </FORM> можно сделать как один раз, а между ними динамически, в зависимости от шага менять содержимое формы, так и целиком в зависимости от шага менять все содержимое <FORM> и </FORM>, включая названия форм, это уже как больше нравится.

Просто одной формой не красиво будет. а так бы 3 нажатия далее и форма готова.:D

Вот только форм наверное тогда надо делать на PHP

у меня щас данные из HTML идут POST om в PHP

и там выводяться.

savage
На сайте с 10.01.2007
Offline
224
#3

seosniks, лучше на php в этом случае выводить ту форму, которую нужно в зависимости от шага, можно и на html, но тогда придется 3 файла делать под каждую форму и в обработчиках писать каждый следующий файл.

seosniks:

Просто одной формой не красиво будет. а так бы 3 нажатия далее и форма готова.

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

Stalser
На сайте с 04.12.2008
Offline
100
#4

Для начала во всех полях формы свойство name должно быть уникальным. Данные после каждого шага для удобства можно сохранять в сессии ($_SESSION)

так же закрывающий <FORM и </FORM> придеться делать для каждого этапа, или хватит одного?

Для первого этапа пишем

<form method="post" action="step2.php">

<!-- тело формы -->
</form>

Для второго вместо step2.php будет step3.php

Это один из примеров реализации (все довольно просто).

savage
На сайте с 10.01.2007
Offline
224
#5
Stalser:
Данные после каждого шага для удобства можно сохранять в сессии ($_SESSION)

Не очень хороший совет. Сессии тут использовать я бы уж никак не рекомендовал. Просто - сохранять переменные в <input type="hidden"> и все.

seosniks
На сайте с 13.08.2007
Offline
389
#6

По идее можно сделать в одном файлике.

например в форме передавать на переменную запрос.

типа  if($xod==1)

{код первого шага}

if($xod==2)
{код 2 шага}

if($xod==3)
{код 3 шага}

но что то не получаеться у меня.

не работает if($xod==3)

{код 3 шага}

W
На сайте с 06.09.2005
Offline
42
#7

форме у вас есть такой поля

<input type="hidden" name="xod" value="3">

?

webmasters -вебмастер с сайтов:http://www.ibrahimovfamil.narod.ru (http://www.ibrahimovfamil.narod.ru) http://www.allshops.h15.ru (http://www.allshops.h15.ru),http://www.forumall.h15.ru (http://www.forumall.h15.ru) http://www.zarabotka.hut1.ru (http://www.zarabotka.hut1.ru)
seosniks
На сайте с 13.08.2007
Offline
389
#8
webmasters:
форме у вас есть такой поля
<input type="hidden" name="xod" value="3">
?

Такого поля нет у меня.

Скрытых нет вообще.

zhidronsss
На сайте с 12.10.2007
Offline
36
#9

на каждом следующем шаге отлавливайте POST переменные и запихивайте в hidden

$xod=@$_POST['xod'];

echo "<input type=\"hidden\" name=\"xod\" value=\"".$xod."\">";

вначале еще добавить проверку на переменные

if (!is_array($_POST)){$_POST=$HTTP_POST_VARS;} 
RU
На сайте с 08.12.2008
Offline
9
#10
seosniks:

Обычную форму сделать могу без проблемм, но там очень много полей, по этому хочу сделать красиво.

такая задача решается совокупно двумя способами.. первый для включеного JS у клиента второй для выключеного JS у клиента.

второй способ уже описали выше ( type="hidden")

а первый делается при помощи JS и CSS ( DISPLAY: none, DISPLAY: block )

доступный способ для оплаты ваших услуг (http://www.smsdostup.ru/3137/) Дивная верстка за $10 (/ru/forum/324509)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий