将单选按钮值传递给表单提交

时间:2012-09-19 13:49:13

标签: php radio-button form-submit

我想知道是否有人能够解雇我。

我将this页面放在一起,允许用户查看其帐户中保存的记录。

我现在要做的是添加用户可以选择单选按钮的功能,单击“位置详细信息”图标,然后将它们带到与他们所拥有的记录相关的“详细信息页面”选择单选按钮。

我遇到的问题是无论我选择哪个单选按钮,当我点击图标时,我总是被带到最后一条记录的“详细信息页面”。 (* NB *就本帖而言,我已将“提交”操作远离按钮。

下面的代码创建了表格和“位置详细信息”图标

 <table id="theTable" width="835" class="sortable-onload-zebra no-arrow rowstyle-alt colstyle-alt paginate-20 max-pages-20 paginationcallback-callbackTest-calculateTotalRating paginationcallback-callbackTest-displayTextInfo sortcompletecallback-callbackTest-calculateTotalRating">
              <thead>
                <tr>
                  <th width="60" bgcolor="#ff8401">Select</th>
                  <th width="150" class="sortable-text" bgcolor="#ff8401">Location</th>
                  <th width="300" class="sortable-text" bgcolor="#ff8401">Address</th>
                  <th width="30" class="sortable-text" bgcolor="#ff8401">Finds</th>
                </tr>
              </thead>
              <tbody>
                <?php
                    mysql_data_seek($result, 0);
                    while ($row = mysql_fetch_array($result)) {
                        /* display row for each user */

                ?>
                <tr height="80px">
                  <td style="text-align: center"><input type="radio" id="lid" name="lid" value=<?php echo $row['locationid'];?> /></td>
                  <td style="text-align: left"><strong><?php echo $row['locationname'];?></strong></td>
                  <td style="text-align: center"><?php echo $row['returnedaddress'];?></td>
                  <td style="text-align: center"><strong><em><?php echo $row['totalfinds'];?></em></strong></td>

            </tr>

                <?php
                        }
                    } else {
                        echo "<tr>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>                                     
                            </tr>
                            <tr>
                                 <td colspan='5'><div align='center'><strong>No locations have been added yet. <a href='addlocation.php'>Click here</a> to add one.</strong></div></td>
                            </tr>
                            <tr>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>
                            </tr>";

}

?>  
              <form action='locationsaction.php'>
              <input type='submit' class='detailsButton' name='type' value='Details' alt='Location Details' title='Location Details' style='margin-right:10px' />
              </form>   
            </tbody>
            </table>

因为我打算在一个表单中有几个提交按钮,所以我创建了以下'locationsaction.php'脚本,您将在上面的脚本中调用它。

<?php
session_start();
$_SESSION['lid'] = $_POST['lid'];
if (isset($_POST['type'])) {
    $urls = array(
        'Details' => 'locationdetails.php',
        'Add Finds' => 'addfinds.php',
        'Images' => 'addimages.php',
        'View Finds' => 'locationfinds.php'
    );
    $url  = $urls[$_POST['type']];
    header("Location: " . $url);
}
?>

我已经做了好几天了,已经尝试了几个教程,但我似乎无法让它工作。

我只是想知道是否有人可以看一下这个,并就如何通过'提交行动传递正确的单选按钮值提供一些指导。

非常感谢和亲切的问候

2 个答案:

答案 0 :(得分:2)

这是您目前的表格:

<form action='locationsaction.php'>
<input type='submit' class='detailsButton' name='type' value='Details' alt='Location Details' title='Location Details' style='margin-right:10px' />
</form> 

你的桌子根本不在你的桌子上;当您单击提交按钮时,它将仅发送<form>标记之间的输入详细信息。

如果您将<form action标记移到页面顶部,它应该可以正常工作。

答案 1 :(得分:2)

我相信您的开始表单标记应该位于最高输入类型字段之上。我不完全确定,但这是我注意到的第一件事。