Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   ДОбавление строк в форму и последующая обработка (https://javascript.ru/forum/events/6567-dobavlenie-strok-v-formu-i-posleduyushhaya-obrabotka.html)

vvivan 05.12.2009 23:50

ДОбавление строк в форму и последующая обработка
 
Подскажите, пожалуйста, как реализовать одну вещь. Явасткриптом никогда не занимался, а сейчас от появилась необходимость.
Итак, есть форма. Она сделана в виде таблицы. Изначально - одна строка, в которой находятся элементы - select и input/text. А есть кнопка, которая добавляет такую же строчку снизу. Это пока не сложно.
Вопрос в другом. Как дать имена контролам, который добавляет яваскрипт, чтобы их возможно было потом обработать ГЕТ запросом. Если важно - обрабатывать буду на питоне в джанго. Просто если давать одинаковые имена, обрабатываться будет только последняя строка...
Надеюсь, понятно объяснил.

Gvozd 05.12.2009 23:56

в случае обработки на PHP, можно так:
<input type="text" name="arr[]" value="value1" />
<input type="text" name="arr[]" value="value2" />
<input type="text" name="arr[]" value="value3" />

при этом соответственно будет доступен массив $_REQUEST['arr'], содержащий в себе три элемента
полагаю в питоне тоже нечто подобное будет происходить при такой записи имен.

B~Vladi 06.12.2009 13:51

Имена без скобок тоже сгенерят массив:)

vvivan 06.12.2009 14:01

Цитата:

Сообщение от B~Vladi (Сообщение 37303)
Имена без скобок тоже сгенерят массив:)

Без скобок? У меня не получается... просто в строке гет-запроса последовательно повторяются переменные столько раз, сколько в итоге оказалось строк в форме. А обработчик видит только последние

Gvozd 06.12.2009 15:01

Цитата:

Сообщение от B~Vladi
имена без скобок тоже сгенерят массив

какой язык для серверного обработчика использовал?
PHP согласно документации так не делает
на практике та же фигня
более того во всех статьях по генерации динамических форм указан именно такой способ именования однотипных полей.
наврено неспроста

B~Vladi 06.12.2009 15:02

Если в гет запрое есть одинаковые имена, PHP воспринимает это как массив. Если такого не происходит - нужно смотреть настройки PHP, хотя такого быть не должно.

B~Vladi 06.12.2009 15:03

Цитата:

Сообщение от Gvozd
на практике та же фигня

Нет, не та же.

vvivan 07.12.2009 15:56

Цитата:

Сообщение от B~Vladi (Сообщение 37303)
Имена без скобок тоже сгенерят массив:)

На самом деле так и вышло, просто нужно использовать другой метод для обработки запроса на Джанге...

Gvozd 07.12.2009 18:59

Цитата:

Сообщение от B~Vladi
Если такого не происходит - нужно смотреть настройки PHP, хотя такого быть не должно.

Цитата:

Сообщение от B~Vladi
Нет, не та же.

на моих тестах PHP сработал именно так как я сказал
более того считаю что такое поведение оправдано, настолько же, как к примеру register_globals=off

B~Vladi 07.12.2009 20:51

Цитата:

Сообщение от Gvozd
более того считаю что такое поведение оправдано, настолько же, как к примеру register_globals=off

Кому как. Мне они только неудобства создавали всегда.


Часовой пояс GMT +3, время: 13:13.