динамически созданные элементы и php скрипт

12
H
На сайте с 21.12.2007
Offline
24
1691

на странице есть javascript который в зависимости от введённой пользователем инфы генерирует различные элементы - чекбоксы, текстовые поля, радиокнопки ...

как сделать чтобы php скрипт (на обработку которому отправляется эта форма) обрабатывал инфу в этих новых динамически созданных элементах ? (элементов может быть много)

как вообще принципиально подходить к такой задаче ? динамически созданные элементы - php скрипт

B
На сайте с 26.12.2006
Offline
51
#1

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

PHP,MySQL,JavaScript,AJAX
H
На сайте с 21.12.2007
Offline
24
#2

меня просто интересует, если например было создано 50 чекбоксов, как php скрипт "узнает" точное количество этих чекбоксов

F
На сайте с 12.09.2003
Offline
120
#3

ТС

что ты хочешь получить на выходе, непонятно.

в обработчике все равно все переменные нужно учесть

S
На сайте с 17.12.2007
Offline
118
#4

Все элементы формы передают свои значения через GET или POST, надо просто пройтись циклом foreach

B
На сайте с 26.12.2006
Offline
51
#5
hrenoid:
меня просто интересует, если например было создано 50 чекбоксов, как php скрипт "узнает" точное количество этих чекбоксов

php скрипт получает параметры вида name=value не более того, так что ему абсолютно всеравно сколько там будет таких параметров главное чтобы имена параметров не совпадали

если тебе нужно создать динамически к примеру 50 или даже 100 чекбоксов,

ты можеш пойти двумя путями, сгенерить для каждого уникально имя (name)

или загнать все данные в масив т.е.

1)<input type="checkbox" name="check_val[]">

2)<input type="checkbox" name="check_val[]">

3)<input type="checkbox" name="check_val[]">

...

50)<input type="checkbox" name="check_val[]">

...

100)<input type="checkbox" name="check_val[]">

в таком случае php получит не переменную check_val а массив check_val, с которым можно работать как с обычным php массивом

H
На сайте с 21.12.2007
Offline
24
#6
в обработчике все равно все переменные нужно учесть

вот я про это и спрашиваю (количество чекбоксов не постоянно)

а может просто подсчитывать самим же javascript'ом количество сгенерированных элементов и передавать эту переменную php скрипту ?

B
На сайте с 26.12.2006
Offline
51
#7
hrenoid:
вот я про это и спрашиваю (количество чекбоксов не постоянно)

а может просто подсчитывать самим же javascript'ом количество сгенерированных элементов и передавать эту переменную php скрипту ?

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

Зачем подсчитывать количество параметров яваскриптом и передавать это потом скрипту, я просто в толк не возьму, в чем смысл, если и без того все прекрасно можно обработать?

topy
На сайте с 28.03.2006
Offline
142
#8

hrenoid, тебе bleed все ясно написал в этом сообщении... На выходе ты получишь массив check_val и делай с ним что хошь....

Новости коротко и ясно (https://subnews.ru)
dmitcat
На сайте с 26.05.2005
Offline
123
#9

тут проблема в том, что массив для чекбоксов будет создан только для отмеченных, т.е. если было 50 чекбоксов а отметили 23, то массив в пхп будет из 23 элементов...

выход - в значение value для чекбокса записывать какое то уникальное значение (например ID какой нибудь), а не просто единички и по нему отличать отмеченные чекбоксы.

пример:

<input type=checkbox name=chk[] value=1>

<input type=checkbox name=chk[] value=2>

<input type=checkbox name=chk[] value=3>

<input type=checkbox name=chk[] value=4>

<input type=checkbox name=chk[] value=5>

<input type=checkbox name=chk[] value=6>

и если были отмечены например 2ой, 3й и 6ой чекбокс, то на выходе в пхп скрипте мы имеем массив $chk из трех элементов со значениями 2,3,6.

Кол-во чекбоксов можно определить только если на джаве писать в hidden переменную значение кол-ва чекбоксов на лету. т.е. добавил юзер чекбокс - значение переменной +1, убрал -1 и т.д. Тогда в пхп мы получим циферку, равную кол-ву созданных чекбоксов. Но она может отличаться от кол-ва отмеченных чекбоксов! Это надо понимать при обработке данных.

Либо селяВи (http://www.puper.ru), либо селяВас (http://www.puper.ru)!!!
Gipperion
На сайте с 03.10.2006
Offline
80
#10

Да к чему извращения, правильно было сказано, просто каждому генерируемому элементу присваиваем уникальное имя. PHP-обработчик получит ВСЕ (и отмеченные и не отмеченные) данные в виде $имя_поля = значение поля.

Опыт - это такая штука, которая приходит сразу после того, как была нужна.
12

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