Передайте значение переключателя в форму Отправить
Интересно, может ли кто-нибудь помочь мне, пожалуйста.
Я собрал эту страницу, которая позволяет пользователю просматривать записи, сохраненные в их учетной записи.
Что я сейчас пытаюсь сделать, так это добавить функциональность, с помощью которой пользователь может выбрать переключатель, нажать на значок "Сведения о местоположении", и они перейдут на "Страницу сведений", относящуюся к записи, против которой они выбрали переключатель.
Проблема, с которой я сталкиваюсь, заключается в том, что независимо от какой переключатель я выбираю, когда я нажимаю на значок, я всегда попадаю на "Страницу сведений" для последней записи. (* 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> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </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> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </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);
}
?>
Я работаю над этим уже несколько дней и перепробовал несколько учебных пособий, но, похоже, я просто не могу заставить это работать.
Мне просто интересно, может ли кто-нибудь взглянуть на это, пожалуйста, и дать некоторые рекомендации о том, как я могу передать правильное значение переключателя через действие "отправить".
Большое спасибо и наилучшие пожелания
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
прямо в верхнюю часть страницы, он должен работать.
Я считаю, что ваш тег открывающей формы должен быть выше самого верхнего поля типа ввода. Я не совсем уверен, но это первое, что я заметил.