echo"<td> <a href ='del.php?id=$id' onclick='return confirm('Are you sure?');'><center>Delete</center></a></td>";
我想要一个提示信息,因为用户将点击“删除”,如果他/她将按“确定”然后它将重定向到数据将被删除的页面,如果他/她将按“取消”然后什么都不会发生。 通过使用上面的代码,我无法得到我的提示框,数据直接被删除。
答案 0 :(得分: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>
即使从SO语法高亮显示,您可以看到onclick
处理程序中存在错误。在其他'
内有'
。那么在那时你应该用'
替换内部"
。要在PHP中执行此操作(您也可以使用"
),只需使用"
转义内部\"
。
答案 1 :(得分:0)
这与PHP无关。 a
标记的onclick处理程序不会阻止浏览器更改位置。你可以这样做:
echo"<td> <a href='javascript:void' onclick='if (confirm(\"Are you sure?\")) window.location=\"del.php?id=$id\";'><center>Delete</center></a></td>";
答案 2 :(得分:0)
要消除复杂性,您可以编码为:
$confirm="return confirm('Are you sure?');";
echo "<td> <a href ='del.php?id=$id' onclick='$confirm'><center>Delete</center></a></td>";
OR
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>";
答案 3 :(得分:0)
echo"<td><a href ='del.php?id=$id' onclick=\"return confirm('Are you sure?');\"><center>Delete</center></a></td>";
你错过双引号onclick = \“\”;
程序未检测到您的确认框,因为单引号&gt;&gt; onclick ='返回确认('你确定吗?');'