Несколько форм, имеющих одинаковый скрытый атрибут, не могут получить фактические данные - PullRequest
1 голос
/ 26 марта 2012

У меня есть 7 форм на странице со скрытым атрибутом с тем же именем, но с разными значениями в каждом случае (я использую CodeIgniter):

echo form_open('user/submit');
$attributes2 = array('class' => $imageClass);
echo form_submit($attributes2);
echo form_hidden('id',$id);
echo form_hidden('parent',$paren);
echo form_hidden('side',$side);
form_close();

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

Как я могу получить идентификатор формы, на которую действительно нажали.

Скажем, я нажал кнопку отправки в form1, где id = 001, а в form7 id - 7.

После отправки в пост-переменную я получаю id = 7 ... который должен (или я хочу) быть 1.

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Установите атрибут имени скрытого поля следующим образом:

<input type="hidden" name="form1[yourFieldName]" value="yourFieldValue" />
<input type="hidden" name="form2[yourFieldName]" value="yourFieldValue" />
.
.
.
<input type="hidden" name="form7[yourFieldName]" value="yourFieldValue" />

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

Chears

0 голосов
/ 01 августа 2012

Вы пропустили echo до form_close();:

echo form_open('user/submit');
...
echo form_hidden('side', $side);
echo form_close();                //instead of just `form_close()`

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...