Я предполагаю, что вы имели в виду после отправки в PHP-скрипт.
Я просто собрал это вместе и еще не тестировал, но выглядит довольно прямолинейно.
Он также будет работать с <input type=checkbox name="c[]">
, но немного опасается синхронизации текста и флажков с массивом.
HTML
<form action="./chkbx.php" method=GET>
<input type=checkbox name="c1" value="1"/>
<input type="text" name="t1" />
<input type=checkbox name="c2" value="2"/>
<input type="text" name="t2" />
<input type=checkbox name="c3" value="3"/>
<input type="text" name="t3" >
<input type="submit" name='Submit' />
</form>
PHP
foreach ($_GET as $key => $val){
$chk[substr($key,0,1)] = intval(substr($key,1,1));
$txt[substr($key,0,1)][intval(substr($key,1,1))] = $val;
}
echo '<h2>Text=' . $txt['t'][$chk['c']] . '<h2>';
Тестовый код
<?php
echo <<<EOT
<!DOCTYPE html>
<html lang="en"><head><title>Menu Test</title><meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style type="text/css">
</style></head><body>
<form action="./chkbx.php" method=GET>
<input type=checkbox name="c1" value="1"/>
<input type="text" name="t1" />
<input type=checkbox name="c2" value="2"/>
<input type="text" name="t2" />
<input type=checkbox name="c3" value="3"/>
<input type="text" name="t3" >
<input type="submit" name='Submit' />
</form>
EOT;
foreach ($_GET as $key => $val){
$chk[substr($key,0,1)] = intval(substr($key,1,1));
$txt[substr($key,0,1)][intval(substr($key,1,1))] = $val;
}
echo '<h2>' . $txt['t'][$chk['c']] . '<h2>';
echo '<pre>';
var_export($chk);
echo"-------------------\n";
var_export($txt);
echo '</pre></body></html>';
Результаты:
С установленным флажком c2 и текстовыми полями, содержащими "Текст 1", "Текст 2", "Текст 3"
Ниже вывод из echo '<h2>Text=' . $txt['t'][$chk['c']] . '<h2>';
Текст два
$chk (
't' => 3,
'c' => 2,
'S' => 0,
)-------------------
$txt (
't' =>
array (
1 => 'Text One',
2 => 'Text Two',
3 => 'Text Three',
),
'c' =>
array (
2 => '2',
),
'S' =>
array (
0 => 'Submit',
),
)
Резюме:
Отправленное значение флажка хранится в $chk['c']
Отправленный текст находится в $txt['t'][0], $txt['t'][2], $txt['t'][3]
с уважением.
Таким образом, текст может быть получен с помощью $txt['t'][$chk['c']
Цикл и эхо выполняются за 0,000054 секунды 54 микросекунды, не так уж и плохо.
12.03.2015