JavaScript确认框无法在php中运行

时间:2012-12-14 08:46:13

标签: php javascript

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

我想要一个提示信息,因为用户将点击“删除”,如果他/她将按“确定”然后它将重定向到数据将被删除的页面,如果他/她将按“取消”然后什么都不会发生。 通过使用上面的代码,我无法得到我的提示框,数据直接被删除。

4 个答案:

答案 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 ='返回确认('你确定吗?');'