есть ли способ передать два значения в поле ввода в $ _POST

#php #html #post #input #checkbox

#php #HTML #Публикация #ввод #флажок

Вопрос:

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

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

есть идеи, как получить first_value и second_value перейти к $ _POST в php

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

Комментарии:

1. просто любопытно, почему вам нужно передавать два значения для одного ввода. разве вы не можете сначала объединить два значения как одно?

Ответ №1:

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

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

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

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

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

таким образом, вы можете извлечь оба значения

Комментарии:

1. Это способ сделать это. Объединять с implode() помощью и извлекать с explode() помощью …

2. Эквивалентный этому rails — split() . Итак, вы бы сделали value1, value2 = value.split(':') , где значение равно «CIS 2910C DL: 3».

Ответ №2:

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

Ответ №3:

Как насчет:

 <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;
    }
}
  

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

Ответ №4:

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