Создать массив из представленных значений - PullRequest
0 голосов
/ 23 апреля 2011

Как создать 2 массива HTML из пар значений при отправке формы?

from <input type="text" name="val_a1" value="1">
to <input type="text" name="val_b1" value="2">

from <input type="text" name="val_b1" value="3">
to <input type="text" name="val_b1" value="4">

from <input type="text" name="val_c1" value="5">
to <input type="text" name="val_c1" value="6">

чтобы выглядеть как

array[1,3,5] and array[2,4,6]

Нужно ли мне пять уникальных имен полей, как в моем примере, или просто оставить val_a и val_b ?

Ответы [ 3 ]

2 голосов
/ 23 апреля 2011

AFAIK вы можете иметь несколько значений запроса с одинаковым именем.Таким образом, это будет зависеть от того, какой бэкэнд вы используете для анализа строки запроса.Обычная практика - называть несколько полей, которые должны быть сгруппированы вместе name[], и большинство бэкэндов превратят это в массив.Так что попробуйте оба метода на своем бэкэнде и проверьте, как они обрабатываются!

2 голосов
/ 23 апреля 2011

Используйте скобки в именах полей, чтобы входное значение возвращало массив:

from <input type="text" name="from[0]" value="1">
to <input type="text" name="to[0]" value="2">

from <input type="text" name="from[1]" value="3">
to <input type="text" name="to[1]" value="4">

from <input type="text" name="from[2]" value="5">
to <input type="text" name="to[2]" value="6">

Обратите внимание, что ключи (0, 1, 2) являются необязательными и могут быть любым, чем вы хотите (или ни одного вообще), но я использовал их, так что это будет более целесообразно, как только вы получите возвращаемые значения. При отправке формы вы должны получить from и to в виде массива.

1 голос
/ 23 апреля 2011

если вам нужен массив, вы можете сделать это следующим образом

from <input type="text" name="from[]" value="1">
to <input type="text" name="to[]" value="2">

from <input type="text" name="from[]" value="3">
to <input type="text" name="to[]" value="4">

from <input type="text" name="from[]" value="5">
to <input type="text" name="to[]" value="6">

вам не нужно нумеровать их, они будут в порядке их получения

но вы также можете заняться вложением, см. этот пост для более подробной информации.

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