PHPコードでjavasriptを使用する際に問題が発生しました。二重引用符と一重引用符を使用すると、混乱します。
echo '<a href="shop.php?buy=1" onclick="return confirm("Are you sure you want to delete?")">Delete</a>';
またはphpで上記のコードを実行する方法は?
ありがとう
PHPコードでjavasriptを使用する際に問題が発生しました。二重引用符と一重引用符を使用すると、混乱します。
echo '<a href="shop.php?buy=1" onclick="return confirm("Are you sure you want to delete?")">Delete</a>';
またはphpで上記のコードを実行する方法は?
ありがとう
htmlspecialchars
(HTMLの場合)引用符をエスケープする必要があります。
echo '<a href="..." onclick="return confirm('
.htmlspecialchars('"Are you sure"') . '">Delete</a>';
(あるいは、あなたはただ書くことができます"
;)
...しかし、そうしないでください。JSイベント登録を使用します。
document.getElementById('a-id').addEventListener('click', function (e) {
if (!confirm("Are you sure...")) {
e.preventDefault();
}
});
JSファイルでそれを行います。IDが必要です<a>
(他のセレクターのホストでも実行できますが、IDが最も簡単です)。
このコードを使用する
echo '<a href="shop.php?buy=1" onclick="return confirm(\'Are you sure you want to delete?\')">Delete</a>';
引用符をエスケープする必要があります。
次のように変更します
echo "<a href=\"shop.php?buy=1\" onclick=\"return confirm('Are you sure you want to delete?')\">Delete</a>";
HTMLをPHPタグの外に置いてみませんか?たとえば、次のことができます。
...
?>
<a href="shop.php?buy=1" onclick="return confirm('Are you sure you want to delete?')">Delete</a>
<?php
...
HTMLをエコーする別の方法は次のとおりです。
echo <<<HTML
<a href="shop.php?buy=1" onclick="return confirm('Are you sure you want to delete?')">Delete</a>
HTML
phpエコーを使用してjavascript関数を呼び出す必要があります
echo '<a href="..." onclick="fun()">href_link</a>';
...しかし、JS関数を使用する必要があります
<html><head><script type="text/javascript">
function fun()
{
if(confirm('are you sure')) return TRUE;
else return FALSE;
}
</script>
</head>
<body></body>
</html>
エラーはconfirm("Are you sure you want to delete?")">
二重引用符をエスケープする必要があります。