echo"<td> <a href ='del.php?id=$id' onclick='return confirm('Are you sure?');'><center>Delete</center></a></td>";
我想要一个提示消息,因为如果他/她按“确定”,用户将单击“删除”,然后它将重定向到数据将被删除的页面,如果他/她将按“取消”,则不会发生任何事情. 通过使用上面的代码,我无法获取我的提示框和数据直接被删除。
echo"<td> <a href ='del.php?id=$id' onclick='return confirm('Are you sure?');'><center>Delete</center></a></td>";
我想要一个提示消息,因为如果他/她按“确定”,用户将单击“删除”,然后它将重定向到数据将被删除的页面,如果他/她将按“取消”,则不会发生任何事情. 通过使用上面的代码,我无法获取我的提示框和数据直接被删除。
你在这里混'
在一起"
。
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 中这样做(你也有周围"
的地方),只需"
使用转义来转义内部\"
。
要消除复杂性,您可以编写如下代码:
$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>";
这与 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>";
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?');'