1

我在 php 代码中使用 javasript 时遇到了一些麻烦,我对使用双引号和单引号感到困惑。

echo '<a href="shop.php?buy=1" onclick="return confirm("Are you sure you want to delete?")">Delete</a>';

或者如何在 php 中执行上述代码?

谢谢

4

6 回答 6

2

您需要使用htmlspecialchars(对于 HTML)转义引号:

echo '<a href="..." onclick="return confirm('
   .htmlspecialchars('"Are you sure"') . '">Delete</a>';

(或者你可以写&quot;)

...但不要那样做。使用JS事件注册:

document.getElementById('a-id').addEventListener('click', function (e) {
    if (!confirm("Are you sure...")) {
        e.preventDefault();
    }
});

在 JS 文件中执行此操作。它要求<a>有一个 ID(您也可以使用许多其他选择器,但 ID 是最简单的)。

于 2013-03-04T04:30:30.187 回答
2

使用此代码

echo '<a href="shop.php?buy=1" onclick="return confirm(\'Are you sure you want to delete?\')">Delete</a>';

你必须逃避引号。

http://viper-7.com/F6uI0L

于 2013-03-04T04:31:52.410 回答
2

改变如下

echo "<a href=\"shop.php?buy=1\" onclick=\"return confirm('Are you sure you want to delete?')\">Delete</a>";
于 2013-03-04T04:39:12.267 回答
1

为什么不将 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
于 2013-03-04T04:41:37.893 回答
0

confirm("Are you sure you want to delete?")">您需要转义双引号的错误。

于 2013-03-04T04:31:21.707 回答
0

您需要使用 php echo 调用 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>
于 2013-03-04T05:51:32.430 回答