Перейти к содержимому


Пользователь месяца
WGN WGN 1-й за Июль
Очков активности: 850 2 темы, 75 сообщений, 7 баллов репутации
Сайт: worldgamenews.com
ТОП самых активных за этот месяц
  • Фотография TimurR
    #1

    TimurR
    Очков активности: 216 3 темы, 15 сообщений, 6 баллов репутации

  • Фотография WGN
    #2

    WGN (worldgamenews.com)
    Очков активности: 64.5 Вне конкурса за определение пользователя месяца

  • Фотография ShowPrint
    #3

    ShowPrint (ShowPrint.ru)
    Очков активности: 52.5 0 тем, 7 сообщений, 5 баллов репутации

  • Фотография BlackLion
    #4

    BlackLion
    Очков активности: 33 0 тем, 22 сообщения, 1 балл репутации

  • Фотография Vmir
    #5

    Vmir
    Очков активности: 22.5 Вне конкурса за определение пользователя месяца

  • Фотография Napoleon-007
    #6

    Napoleon-007
    Очков активности: 21 0 тем, 14 сообщений, 1 балл репутации

  • Фотография Ixman
    #7

    Ixman (o5cat.ru)
    Очков активности: 21 0 тем, 7 сообщений, 2 балла репутации

  • Фотография alekswebart
    #8

    alekswebart
    Очков активности: 19.5 1 тема, 10 сообщений, 1 балл репутации

  • Фотография r0mZet
    #9

    r0mZet (rz-style.ru)
    Очков активности: 18 2 темы, 6 сообщений, 1 балл репутации

  • Фотография profi
    #10

    profi (1informer.com)
    Очков активности: 12 0 тем, 8 сообщений, 1 балл репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 19.11.2017
  • Яндекс выдача: 13.08.2018
Топ 5 участников по репутации


Объединение форм

#1 v1ex

v1ex
  • Неактивные
  • 225 сообщений
  • Репутация: 0
0

Отправлено 22 June 2009 - 16:08

Короче, такая ситуация.
Имеется страница, есть три формы:
1. Выбор нескольких файлов;
2. Какие-то специфические данные;
3. Какие-то специфические данные;

Вторая и третья форма расположены на вкладках. Какая вкладка открыта, такая форма и отправляется.

Данные первой формы должны, как-бы присоединяться к данным второй или третей формы (т.е. данные первой формы должны отправляться при любых обстоятельствах). Есть идеи, как такое реализовать?

У меня впринципе есть идея - при сабмите формы (второй или третей), через DOM вставлять в скрытый DIV (ну или как нибудь так) поля первой формы. Но почему-то у меня душа к такому подходу не лежит.

P.S.
Не предлагать делать одну форму, а уже на обработчике по каким-либо условиям проверять, какие данные нужно принимать. Просто первая и вторая формы и без этого сложные, и в итоге сам обработчик будет очень запутанный и через пару месяцев мне будет сложно, что-либо в нем понять (просто проект в дальнейшем будет модифицироваться).

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Реализация добавления поля формы без перезагрузки
  2. Как сделать форму и её обработчик в одном файле?
  3. Две базы объединить
  4. Страницы и рубрики! Как их объединить?
  5. Объединение переменных

#2 v1ex

v1ex
    Topic Starter
  • Неактивные
  • 225 сообщений
  • Репутация: 0

Отправлено 22 June 2009 - 16:42

Все, кажется придумал решение:
Вообще не будет ни одной формы, будут чисто поля. При клике на кнопку "отправить", с помощью JS создам форму (не размещая ее в документе), добавлю в нее необходимые данные из полей и отправлю на необходимый URL.
  • 0

#3 yury

yury
  • Пользователь
  • 642 сообщений
  • Репутация: 188

Отправлено 22 June 2009 - 16:57

v1ex,
а чем это отличается от полностью динамической формы на js? которая генерится в зависимости от ответов юзера.
единственная проблема динамической формы - все варианты надо учитывать в "и без того запутанном" обработчике, но и в вашем варианте тоже самое будет.
  • 0

#4 v1ex

v1ex
    Topic Starter
  • Неактивные
  • 225 сообщений
  • Репутация: 0

Отправлено 22 June 2009 - 18:15

Тем, что в полностью динамической форме, она динамически создается, т.е. никаких лишних полей не будет и отправляются только нужные данные. А у меня как-бы две динамические формы + одну статическую надо "приклеить", и если это все запихнуть в одну форму, на сервер уйдет много данных не нужных, и при этом всех их надо обработать в одном обработчике.

А в моем решении, я просто на клиенте напишу парочку if..else, и нужные данные отправлю на один из обработчиков. И в моем варианте "тоже самое" не будет :)


  • 0

#5 yury

yury
  • Пользователь
  • 642 сообщений
  • Репутация: 188

Отправлено 22 June 2009 - 18:32

две динамические формы + одну статическую надо "приклеить",

- это всего лишь визуализация (хоть 10 закладок с виртуальными формами делай).
А фактически: сабмит один (даже если он и шлет данные на разные обработчики, по ситуации), значит и форма реально одна.
Впрочем, вам виднее, как эту конструкцию обозвать, главное, чтоб было удобно и работало. :)
  • 0

#6 v1ex

v1ex
    Topic Starter
  • Неактивные
  • 225 сообщений
  • Репутация: 0

Отправлено 22 June 2009 - 19:09

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

Впрочем, вам виднее, как эту конструкцию обозвать, главное, чтоб было удобно и работало. :)

Точно :)
  • 0

#7 ZiTosS

ZiTosS
  • Неактивные
  • 5148 сообщений
  • Репутация: 8

Отправлено 22 June 2009 - 19:19

Я бы сделал так:
1) Есть одна страница. 1 форма.
2) Отправка всех данных идёт одной кнопкой, Ajax. Какие данные отсылать решает функция js.
3) Легче всего радиокнопку поставить, типа одна вкладка или вторая
  • 0

#8 v1ex

v1ex
    Topic Starter
  • Неактивные
  • 225 сообщений
  • Репутация: 0

Отправлено 22 June 2009 - 19:39

Ну я так-же делаю, только у меня отправка не с помощью аякс (не тот случай, когда аякс нужно использовать), и проверяю не через поле, а по ID открытой вкладки :)


  • 0

#9 ZiTosS

ZiTosS
  • Неактивные
  • 5148 сообщений
  • Репутация: 8

Отправлено 22 June 2009 - 20:10

Ну и так можно, всё зависит от нужд. Вот если вкладки будут добавляться, то надо правильно описать функцию проверки по ID.
  • 0

#10 Вячеслав

Вячеслав
  • Пользователь
  • 381 сообщений
  • Репутация: 2

Отправлено 30 June 2009 - 21:18

Ну я так понимаю вкладки на JS? Тогда можно сделать так:
 

<form action=''>
<div id='вкладка_1'>
/***поля первой формы***/
</div>
<div id='вкладка_2'>
/***поля второй формы***/
</div>
<div id='вкладка_3'>
/***поля третей формы***/
</div>
/***кнопка***/
<input type='submit' value='отправить'>
<form>

То есть отправляться форма будет с третьей вкладки(и можно запретить доступ к второй и третьей пока не заполнены поля в первой...) , а в обработчике удалять(unset) пустые переменные из полей формы.


  • 0

robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru