Ajax确认仅要求提供一个数据

时间:2019-04-24 09:41:58

标签: php ajax

我实现了一个ajax beforeSend函数,其中有一个confirm(),问题是在代码中,如果我想在请求确认时删除第一个值,但是如果我单击第二个,第三个或第四个,它只是转到方法中的URL并执行命令

这是页面

Collection

这是ajax函数

<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Button</th>
</tr>
</thead>
<tbody>
<?php 
$stmt = $DB_con->prepare("SELECT * FROM people");
$stmt->execute();
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{?>
<tr><td><?php echo $row['id']; ?></td>
<td><?php echo $row['name']; ?></td>
<form method="post" id="del" action="delete.php">
<input type='hidden' id='pid' name='pid' value='<?php echo $row['id']; ?>'>
<button id="send" type="submit">Delete</button>
</form>
</th>
</tr>
<?php
} 
?>

无论我要删除哪条记录,它都应询问,但应要求确认。

2 个答案:

答案 0 :(得分:0)

使用localhost classname代替class="del" id。每次提交仅执行第一个表单

id="del"

答案 1 :(得分:0)

在这里您创建无效的HTML:

while(...)    {      ...            '>      删除    ...    }

在每个循环运行中,您每次创建3个具有相同ID的对象。一个ID不能多次定义。

解决方案:

  • 不要使用id=,而要使用可选的class=
  • 为ID附加一个唯一的数字,例如id="del-<?php echo $row['id']; ?>"