为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
月关宝盒 2021-04-29 18:23:51
我实现了一个ajax beforeSend函数,其中有一个confirm(),问题是在代码中,如果我想在请求确认时删除第一个值,但是如果我单击第二个,第三个或第四个,它就可以了到方法中的URL并执行命令这是页面<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} ?>这是ajax功能$(document).ready(function (e) {  $("#del").on('submit',(function(e) {    e.preventDefault();    $.ajax({          url: "delete.php",      type: "POST",      data:  new FormData(this),      contentType: false,          cache: false,      processData:false,      beforeSend:function(){         return confirm("Are you sure you want to delete this?");      },      success: function(data)        {         alert("Delete Successful");    window.location.reload();         },        error: function(e)         {        }                });  }));});而无论我要删除哪一条记录,它都应该询问,它应该要求确认。
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

使用classname class="del"而不是。id id="del"每次提交其唯一执行的第一个表单


<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" class="del" action="delete.php">

<input type='hidden' class='pid' name='pid' value='<?php echo $row['id']; ?>'>

<button id="send" type="submit">Delete</button>

</form>

</th>

</tr>

<?php

?>


查看完整回答
反对 回复 2021-05-14
?
阿晨1998

TA贡献2037条经验 获得超6个赞

您在此处创建无效的HTML:

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

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

解决方案:

  • 不要使用id=和使用optional class=

  • 在ID后面附加一个唯一的数字,例如 id="del-<?php echo $row['id']; ?>"


查看完整回答
反对 回复 2021-05-14
  • 2 回答
  • 0 关注
  • 184 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信