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

ユーザーが「OK」を押すと「削除」をクリックし、データが削除されるページにリダイレクトされ、「キャンセル」を押すと何も起こらないので、プロンプトメッセージが必要です。 。上記のコードを使用すると、プロンプトボックスを取得できず、データが直接削除されます。

4

4 に答える 4

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>

onclickSO の構文強調表示からでも、ハンドラーに問題があることがわかります。そこに'は other の中にあります'。その時点で、インナー'を に置き換える必要があります"。PHP でこれを行うには (周囲にもあります)、代わりに使用し"て内部をエスケープするだけです。"\"

于 2012-12-14T08:47:37.050 に答える
0

複雑さを取り除くには、次のようにコーディングできます。

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

また

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>";
于 2012-12-14T09:23:24.070 に答える
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>";
于 2012-12-14T08:49:51.050 に答える
0
echo"<td><a href ='del.php?id=$id' onclick=\"return confirm('Are you sure?');\"><center>Delete</center></a></td>";

二重引用符が抜けています onclick=\" \";

一重引用符が原因で、確認ボックスがプログラムによって検出されませんでした >> onclick='return confirm('Are you sure?');'

于 2012-12-14T10:19:37.640 に答える