Выглядит просто, но может быть, я что-то пропускаю.
Форма не соответствует правильному значению из datatable
(document).ready(function(){
$('#data').dataTable();
}
if (isset ($_POST ['deleteUser']))
{
echo "<p>Received the form data</p>";
echo $_POST['hidden'];
}
<form action="" method="post">
<table id="data">
<thead>
<tr>
<td>First Name</td>
<td>Delete Name</td>
<td>Email</td>
<td></td>
</tr>
</thead>
<tbody>
<?php
$cursor=$collection->find();
foreach ($cursor as $document) {
?>
<tr>
<td class='First_Name'>
<?php echo $document [ "First_Name"]; ?>
</td>
<td class='Last_Name'>
<?php echo $document [ "Last_Name"]; ?>
</td>
<td class='Email'>
<?php echo $document [ "Email"]; ?>
</td>
<td>
<input type="hidden" name=hidden value='<?php echo $document ["First_Name"]; ?>'>
<input type="submit" value="Delete" name="deleteUser">
</td>
</tr>
<?php }?>
</tbody>
</table>
</form>
Здесь я пытаюсь отправить значение из таблицы в код PHP на той же странице. Когда я нажимаю кнопку «Удалить», он всегда отправляет первое имя последней строки.
Что заставляет форму отправлять только последнюю строку при нажатии кнопки? Как передать значение скрытого тега для строки, в которую нажата кнопка удаления?
FYI: Я включил DataTable для таблицы.
У вас есть имя = скрытый вместо имени = "скрытый" в вашей форме? Если ваш ответ «да», то смените имя = hidden на name = «hidden» – Rehmat
Вопросы или проблемы с ответом? – chris85
Пробовал сменить имя = скрытый на name = "hidden". не повезло :( –