如何在执行PHP之前弹出JavaScript确认窗口?

时间:2012-09-12 12:48:25

标签: php javascript confirmation

如何在执行前弹出JavaScript确认窗口:

<form action="index.php" method="get">
  <input type="hidden" name="act" value="run">
  <input type="submit" value="Clear map">
</form>
<?php
  if (!empty($_GET['act'])) {
        mysql_query("TRUNCATE TABLE mapinfo");
        $page = $_SERVER['PHP_SELF'];
        header("Location: $page");
  } 
?>

用户必须按“确定”才能执行PHP,或按“取消”。

4 个答案:

答案 0 :(得分:8)

<?php
  // mysql connection
  if ($_GET['act'] == 'run') {
        mysql_query("TRUNCATE TABLE mapinfo");
        $page = $_SERVER['PHP_SELF'];
        header("Location: $page"); // for this to work, script must not output something before, otherwise use echo '<script type="text/javascript">window.location = \''.$page.'\';</script>';
        die;
  } 
?>
<form action="index.php" method="get" onsubmit="return confirm('Are you sure you want to truncate `mapinfo`?');">
  <input type="hidden" name="act" value="run">
  <input type="submit" value="Clear map">
</form>

答案 1 :(得分:0)

使用javascript confirm()执行此操作。将onclick属性添加到提交按钮,该按钮将调用确认对话框并使用javascript检查是否选项是,然后是一些代码,如果没有,则检查其他代码。

答案 2 :(得分:0)

在将站点发送到客户端之前,在服务器上评估PHP脚本。仅当客户端开始处理页面时才评估javascript。因此,在评估php脚本之前,你无法在javascript中做任何事情。

解决方案是设置一个代理页面来处理你​​需要的javascript内容,然后引用你的php页面。

希望有所帮助!

答案 3 :(得分:0)

试试这一行,

<a href="truncate_page.php" onclick="return confirm('Are you sure you want to truncate?')">Truncate</a>