-1

如何在执行前弹出 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");
  } 
?>

用户必须按 OK 执行 PHP 或按 Cancel 不执行。

4

4 回答 4

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>
于 2012-09-12T12:49:56.723 回答
0

使用 javascriptconfirm()来做到这一点。向提交按钮添加一个 onclick 属性,该属性将调用确认对话框并使用 javascript 检查选项是否是,然后是一些代码,如果不是,则检查其他代码。

于 2012-09-12T12:50:45.497 回答
0

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

一种解决方案是设置一个代理页面来处理您需要的 javascript 内容,然后将您引至 php 页面。

希望有帮助!

于 2012-09-12T12:51:29.880 回答
0

试试这一行,

<a href="truncate_page.php" onclick="return confirm('Are you sure you want to truncate?')">Truncate</a> 
于 2012-09-12T12:59:22.687 回答