|
|
|
| Есть такая форма (прикрепленый файл). Для обработки формю использую следующий обработчик.
<?
echo "<table width=100% border=1 cellpadding=3 cellspacing=2 bgcolor=#CCCCCC>";
if($_POST[checkbox])
foreach($_POST[checkbox] as $id=>$key)
{
if($key)
{
$vars=explode("/",$key);
$var1=$vars[0];
$var2=$vars[1];
if (!$textfield[$id]){ $textfield[$id] = "не указано";
}
echo "<tr><td> $vars[0] </td><td> $vars[1] </td><td> $textfield[$id]</td></tr>";
echo $key;
}
}
echo "</table>";
?>
|
Вопрос в чем ошибка? И как добится того чтобы выбранным чекбоксам соответствовали правильные текстфилд? | |
|
|
|
|
|
|
|
для: strug
(21.08.2006 в 11:24)
| | нужно переделать скрипт, отвечающий за вывод формы.
input'ы передаются все. checkbox'ы - только отмеченные.
Поэтому и name=checkbox[] и name=textfield[] нужно связать индексами.
".... name=checkbox[$id] ... name=textfield[$id] ...." | |
|
|
|
|
|
|
|
для: Trianon
(21.08.2006 в 12:06)
| | Если я правильно понял то правильно форма должна выглядеть так
<tr>
<td width="1%" align="center"><input type="checkbox" name="checkbox[$id]" value="PT1005_1/Пружина"></td>
<td width="10%" align="center">1</td>
<td width="20%">PT1005_1</td>
<td>Пружина</td>
<td width="15%" align="center"><input name="textfield[$id]" type="text" size="4" maxlength="4"></td>
<td width="10%" align="center"></tr>
| или так ?
<tr>
<td width="1%" align="center"><input type="checkbox" name="checkbox[1]" value="PT1005_1/Пружина"></td>
<td width="10%" align="center">1</td>
<td width="20%">PT1005_1</td>
<td>Пружина</td>
<td width="15%" align="center"><input name="textfield[1]" type="text" size="4" maxlength="4"></td>
<td width="10%" align="center"></tr>
| - в смысле $id = 1,2,3,4,5, ...
но
1) Дело в том, что форма представляет собой обычную html-страничку, делается она дизайнером в ручную - без использования php.
2) Не могли бы Вы привести более подробный пример (часть кода). | |
|
|
|
|
|
|
|
для: strug
(21.08.2006 в 12:34)
| | Вы правильно поняли. $id будет разным для разных строк таблицы.
Если же форма делается вручную, можно предложить её создавать так:
<tr>
<td width="1%" align="center"><input type="checkbox" name="checkbox[PT1005_1/Пружина]" value="1"></td>
<td width="10%" align="center">1</td>
<td width="20%">PT1005_1</td>
<td>Пружина</td>
<td width="15%" align="center"><input name="textfield[PT1005_1/Пружина]" type="text" size="4" maxlength="4"></td>
<td width="10%" align="center"></tr>
|
Но и при таком способе Вы не застрахованы от ошибок....
Обычно создание таких форм доверяют скрипту. | |
|
|
|
|
|
|
|
для: Trianon
(21.08.2006 в 12:54)
| | Большое спасибо за оперативность. Думал не прийдется в ручную индексы забивать - но что ж поделаешь - по-хитрому не получается. | |
|
|
|