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


× Быстрый вопрос
Пользователь месяца
dos1k dos1k 1-й за Май
Очков активности: 1 194 28 тем, 115 сообщений, 4 балла репутации
Сайт: dos1k.ru
ТОП самых активных за этот месяц
  • Фотография Olya23
    #1

    Olya23
    Очков активности: 678 3 темы, 104 сообщения, 4 балла репутации

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

    Rodiola (rukodelkovo.ru)
    Очков активности: 414 0 тем, 69 сообщений, 4 балла репутации

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

    maxnik (konovalovpavel.ru)
    Очков активности: 81 0 тем, 18 сообщений, 3 балла репутации

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

    agrx (key-assort.ru)
    Очков активности: 51 0 тем, 17 сообщений, 2 балла репутации

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

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

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

    fedornabilkin (plohoneponyal.ru)
    Очков активности: 39 0 тем, 13 сообщений, 2 балла репутации

  • Фотография re-search
    #7

    re-search
    Очков активности: 36 5 тем, 9 сообщений, 1 балл репутации

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

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 36 0 тем, 24 сообщения, 1 балл репутации

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

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

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

    Artos
    Очков активности: 21 0 тем, 7 сообщений, 2 балла репутации

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


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

#1 v1ex

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

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

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

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

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

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

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

 

 

  • 0

#2 v1ex

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

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

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

#3 yury

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

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

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

#4 v1ex

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

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

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

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


  • 0

#5 yury

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

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

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

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

#6 v1ex

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

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

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

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

Точно :)
  • 0

#7 ZiTosS

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

Отправлено 22 Июнь 2009 - 19:19

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

#8 v1ex

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

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

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


  • 0

#9 ZiTosS

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

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

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

#10 Вячеслав

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

Отправлено 30 Июнь 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 Июнь 2009 - 21:26

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

robot

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


Похожие темы

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

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