Передайте значение переключателя в форму Отправить


Интересно, может ли кто-нибудь помочь мне, пожалуйста.

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

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

Проблема, с которой я сталкиваюсь, заключается в том, что независимо от какой переключатель я выбираю, когда я нажимаю на значок, я всегда попадаю на "Страницу сведений" для последней записи. (* 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>

Поскольку я намерен использовать несколько кнопок отправки в одной форме, я создал следующее действие "местоположение".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);
}
?>

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

Мне просто интересно, может ли кто-нибудь взглянуть на это, пожалуйста, и дать некоторые рекомендации о том, как я могу передать правильное значение переключателя через действие "отправить".

Большое спасибо и наилучшие пожелания

Author: IRHM, 2012-09-19

2 answers

Это ваша текущая форма:

<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 прямо в верхнюю часть страницы, он должен работать.

 2
Author: andrewsi, 2012-09-19 13:55:14

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

 2
Author: Glenn Plas, 2012-09-19 13:55:31