2013-02-24 4 views
0

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

<input type="hidden" name="id" value="name1"> 
<input type="hidden" name="id" value="name2"> 
<input type="hidden" name="id" value="name3"> 

Есть ли способ, что, когда я отправляю id, значение, которое будет опубликовано, будет name2?

+0

Почему вы даете одинаковое имя нескольким элементам? – Rikesh

+2

измените имя на 'id []', чтобы они обрабатывались как массивы. – hjpotter92

+0

Какова ваша цель? Чтобы передать некоторые параметры со страницы на страницу? Как вы можете различать их? Рассматривается сохранение в db/cookie/сеанс? – lvil

ответ

0

использовать разные имена для разных переменных.

<input type="hidden" name="id2" value="name2"> 
+0

im фактически использует цикл while для создания входов, поэтому все имена имеют одинаковую, но различную ценность. так или иначе, я могу отличить значение его с тем же именем? – user2102316

0

Нет, вы не можете этого сделать. Вам нужно указать разные имена или использовать somthing как массив. Это можно сделать, установив имя id [].

Что хотите, чтобы вы сделали?

Вы можете установить динамическое значение скрытого поля с помощью javascript, если это то, что вы ищете.

2

Используйте массив для имени

<input type="hidden" name="id[]" value="name1"> 
<input type="hidden" name="id[]" value="name2"> 
<input type="hidden" name="id[]" value="name3"> 

, которая обеспечивает все значения в массиве.

надеюсь, что эта помощь.

+0

Я попытался установить имя в виде массива, но когда i echo $ _POST ['id']; Значение, которое будет опубликовано, представляет собой массив. – user2102316

+0

@ user2102316, поэтому к нему будет обращаться с '$ _POST ['id'] [0]' для первого и прирастить '[0]' для каждого дополнительного ... или использовать цикл 'foreach' или что-то еще аналогичный. – Jon

+0

Вам нужно пройти через массив и сделать что-то со значениями. Попробуйте что-то вроде 'foreach ($ _ POST ['id'] как $ id) {doStuff(); } ' – adamdunson