我实现了一个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
}
?>
无论我要删除哪条记录,它都应询问,但应要求确认。
答案 0 :(得分:0)
使用localhost
classname
代替class="del"
id
。每次提交仅执行第一个表单
id="del"
答案 1 :(得分:0)
在这里您创建无效的HTML:
while(...) { ... '> 删除 ... }
在每个循环运行中,您每次创建3个具有相同ID的对象。一个ID不能多次定义。
解决方案:
id=
,而要使用可选的class=
。id="del-<?php echo $row['id']; ?>"