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


Пользователь месяца
magnet magnet 1-й за Январь
Очков активности: 621 0 тем, 69 сообщений, 6 баллов репутации
Сайт: rbfxdirect.com
ТОП самых активных за этот месяц
  • Фотография OlgaGetman
    #1

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

  • Фотография Андрей WPMasterKZ
    #2

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 592.5 Вне конкурса за определение пользователя месяца

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

    BLIK
    Очков активности: 585 0 тем, 39 сообщений, 10 баллов репутации

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

    ShowPrint (ShowPrint.ru)
    Очков активности: 577.5 Вне конкурса за определение пользователя месяца

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

    Ixman (o5cat.ru)
    Очков активности: 480 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #6

    Mandarin
    Очков активности: 232.5 0 тем, 31 сообщение, 5 баллов репутации

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

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

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

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

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

    pozitron123
    Очков активности: 54 4 темы, 24 сообщения, 1 балл репутации

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

    player09
    Очков активности: 45 4 темы, 18 сообщений, 1 балл репутации

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

Новый Teasernet

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


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

#1 v1ex

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

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

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

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

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

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

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

 

 

  • 0

#2 v1ex

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

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

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

#3 yury

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

Отправлено 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
  • Пользователь
  • 646 сообщений
  • Репутация: 190

Отправлено 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

#11 v1ex

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

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

Вячеслав, вы мой вопрос наверно немного не так поняли, но да ладно, он уже давно решен :lol:
  • 0

robot

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


Похожие темы

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

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