1
echo"<td> <a href ='del.php?id=$id' onclick='return confirm('Are you sure?');'><center>Delete</center></a></td>";

我想要一个提示消息,因为如果他/她按“确定”,用户将单击“删除”,然后它将重定向到数据将被删除的页面,如果他/她将按“取消”,则不会发生任何事情. 通过使用上面的代码,我无法获取我的提示框和数据直接被删除。

4

4 回答 4

5

你在这里混'在一起"

echo "<td> <a href ='del.php?id=$id' onclick='return confirm(\"Are you sure?\");'><center>Delete</center></a></td>";

您的代码会输出以下内容:

<td> 
  <a href ='del.php?id=123' onclick='return confirm('Are you sure?');'><center>Delete</center></a>
</td>

即使从 SOs 语法突出显示中您也可以看到,onclick处理程序中存在问题。你有'其他的里面'。因此,此时您应该将内部替换'". 要在 PHP 中这样做(你也有周围"的地方),只需"使用转义来转义内部\"

于 2012-12-14T08:47:37.050 回答
0

要消除复杂性,您可以编写如下代码:

$confirm="return confirm('Are you sure?');";
echo "<td> <a href ='del.php?id=$id' onclick='$confirm'><center>Delete</center></a></td>";

或者

echo "<script> function isConfirm() { if(!confirm('Are you sure?')) return false;}";
echo "<td> <a href ='del.php?id=$id' onclick='return isConfirm()'><center>Delete</center></a></td>";
于 2012-12-14T09:23:24.070 回答
0

这与 PHP 无关。标记的 onclick 处理程序a不会阻止浏览器更改位置。你可以这样做:

echo"<td> <a href='javascript:void' onclick='if (confirm(\"Are you sure?\")) window.location=\"del.php?id=$id\";'><center>Delete</center></a></td>";
于 2012-12-14T08:49:51.050 回答
0
echo"<td><a href ='del.php?id=$id' onclick=\"return confirm('Are you sure?');\"><center>Delete</center></a></td>";

你错过了双引号 onclick=\" \";

由于单引号,程序未检测到您的确认框 >> onclick='return confirm('Are you sure?');'

于 2012-12-14T10:19:37.640 回答