Возможно, это простой ответ, и я просто не вижу его, но все равно спрашиваю его. Поэтому у меня есть форма поиска для моего сайта. Форма поиска включает раздел категории, в котором пользователь может выбирать элементы из разных категорий, все из которых являются флажками. Все они имеют одно и то же имя, поэтому я могу использовать javascript для выбора всех и выбора none. Мне нужно использовать php $ _GET, чтобы я мог добавлять аргументы к URL-адресу, чтобы я мог вернуться к критериям, которые первоначально искали пользователь.
HTML:
<input name="catID[]" id="catID_10" type="checkbox" value="10" /> <input name="catID[]" id="catID_11" type="checkbox" value="11" /> <input name="catID[]" id="catID_12" type="checkbox" value="12" /> ...
URL-адрес после того, как был отправлен, фактические скобки преобразуются в форму строки html и отформатированы как «catID% 5B% 5D = 10 & catID% 5B% 5D = 11 & catID% 5B% 5D = 12"
Так что им интересно, есть ли какой-нибудь javascript, который я могу выполнить, как только форма будет представлена для изменения имени каждого флажка, чтобы он форматировался прямо в URL-адресе, но не испортил другой выбор всех / не выбрал никакой функции?
Это абсолютно нормально для массива php-стиля в URL-адресе. Вы обнаружите, что если вы выполните print_r($_GET)
, вы получите что-то вроде:
array( 'catID' => array( 0 => 10, 1 => 11, 2 => 12 ) 'otherparameter' => 'value' )
и может получить индивидуальные значения флажка с помощью простого
if (is_array($_GET['catID'])) { foreach($_GET['catID'] as $catID) { ... } }