Переключатели + элементы массива

У меня есть форма, которая может быть динамично дублирована (с JS) так, чтобы пользователь мог ввести столько данных, сколько он хочет. Это работает отлично для вводов текста, потому что я просто уезжаю name припишите то же (заканчивающийся a []) и затем когда значения отправляются, это просто возвращает меня массив. Теперь я просто понял, что это не работает так хорошо на переключатели, потому что имена на самом деле должны быть уникальными для каждого набора. Но с точки зрения данных, каждый набор только возвращает одно значение, так получение данных из данных POST не было бы проблемой, это просто завинчивает функциональность моей формы. Нет никакого пути вокруг этого, есть ли? Я просто завинчен, и я не могу использовать массивы?

15
задан mpen 11 April 2010 в 23:43
поделиться

2 ответа

Я только что решил эту же задачу.

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

<input type="radio" name="radiobutton[0]" value="a"><br>
<input type="radio" name="radiobutton[0]" value="b"><br>
<input type="radio" name="radiobutton[0]" value="c"><br>
<br>
<input type="radio" name="radiobutton[1]" value="x"><br>
<input type="radio" name="radiobutton[1]" value="y"><br>
<input type="radio" name="radiobutton[1]" value="z">

например.

Когда вы отправите эту форму и предположите, что вы выбрали "a" и "x", у вас будет массив "radiobutton", который выглядит так

radiobutton[0] = "a";
radiobutton[1] = "x";

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

26
ответ дан 1 December 2019 в 02:19
поделиться

Yeah. С точки зрения HTTP, и радиокнопки, и наборы флажков - это практически одно и то же (за исключением того, что выбор радиокнопки отменяет выбор всех остальных в группе).

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

3
ответ дан 1 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: