-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");
  } 
?>

ユーザーは、PHPを実行するには[OK]を押すか、実行しない場合は[キャンセル]を押す必要があります。

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

PHP スクリプトは、サイトがクライアントに送信される前に、サーバー上で評価されます。JavaScript は、クライアントがページの処理を開始したときにのみ評価されます。したがって、phpスクリプトが評価される前に、javascriptで実際に何もすることはできません。

解決策は、必要な JavaScript を処理するプロキシ ページを設定してから、php ページを参照することです。

それが役立つことを願っています!

于 2012-09-12T12:51:29.880 に答える
0

そのためにはJavaScriptconfirm()を使用します。送信ボタンに onclick 属性を追加します。これは確認ダイアログを呼び出し、javascript でオプションが yes の場合はコードをチェックし、そうでない場合は他のコードをチェックします。

于 2012-09-12T12:50:45.497 に答える
0

この1行を試してください、

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