我想让用户选择一个“行”来提交with以请求报告类型。如何将单选按钮放在表格的第一列中,选择哪一个是通过提交按钮发送到下一页的活动行?
答案 0 :(得分:4)
我认为安德烈斯走在正确的轨道上,但它并没有那么有用。这应该更好一点:
<?php
blah ...
echo <<<HTML
<form action="handler.php" action="post">
<table>
HTML;
foreach ($rows as $row)
{
$id = $row['id'];
$text = $row['text']; // escape this unless you know it's safe
echo <<<HTML
<tr>
<td><input type="radio" value="$id" name="theRadioButton" /></td>
<td><input type="text" name="textfield_$id" value="$text" /></td>
</tr>
HTML;
}
echo <<<HTML
</table>
</form>
HTML;
表单处理程序:
<?php
$id = isset($_POST['theRadioButton']) ? $_POST['theRadioButton'] : null;
if ($id)
{
$textfield = $_POST["textfield_$id"];
}
?>
答案 1 :(得分:0)
如果你想用纯PHP做,我想你可以这样做:
<form action="ascript.php" action="post">
<table>
<tr>
<td><input type="radio" value="row1" name="theRadioButton" /></td>
<td><input type="text" name="row1textfield" /></td>
</tr>
<tr>
<td><input type="radio" value="row2" name="theRadioButton" /></td>
<td><input type="text" name="row2textfield" /></td>
</tr>
<tr>
<td><input type="radio" value="row3" name="theRadioButton" /></td>
<td><input type="text" name="row3textfield" /></td>
</tr>
</table>
</form>
ascript.php
<?php
if ($_POST['theRadioButton'] == "row1") {
echo $_POST['row1textfield'];
// Handle row 1 ..
}
else if ($_POST['theRadioButton'] == "row2") {
echo $_POST['row2textfield'];
// Handle row 2 ..
}
else if ($_POST['theRadioButton'] == "row3") {
echo $_POST['row3textfield'];
// Handle row 3 ..
}
?>
但是,如果你愿意使用一些jQuery,你可以将文本字段命名为相同的东西并禁用你不会使用的字段。这是一个小提琴:http://jsfiddle.net/rrvQu/1/