Есть ли способ передать два значения в поле ввода в $ _POST - PullRequest
2 голосов
/ 07 октября 2011

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

<input name="class[]" value="first_value" data="second_value" type="checkbox" class="auto"/>

любая идея, как пройти first_value и second_value мимо $ _POST в php

любые предложения о том, как это сделать

Ответы [ 4 ]

7 голосов
/ 07 октября 2011

Вы можете сделать это

<input name="class[]" value="CIS 2910C DL:3" type="checkbox" class="auto"/>

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

Затем на $ _POST вы можете использовать взорвать в цикле, подобном этому

$pieces = explode(":", $class);
echo $pieces[0]; // CIS 2910C DL
echo $pieces[1]; // 3

чтобы вы могли извлечь оба значения

2 голосов
/ 07 октября 2011

Вы не можете сделать это напрямую.Я бы перебрал jquery и создал бы новые скрытые входные данные с этими значениями и удалил бы атрибут attr.

1 голос
/ 07 октября 2011

Как насчет:

<input name="class[second_value][]" value="first_value" type="checkbox" class="auto"/>

Тогда в PHP

foreach($_POST['class'] as $first_value=>$tmpArray) {
    foreach($tmpArray as $second_value) {
        echo $first_value.": ".$second_value;
    }
}

Странный способ сделать это, но это выглядит странной ситуацией, в которой вы находитесь в любом случае.

0 голосов
/ 07 октября 2011

Я думаю, что вы можете сделать это только в том случае, если вы используете ajax или добавляете скрытое поле с последовательным индексом '[]', покупая флажок со значением X в скрытом местоположении X

...