[英]Onclick confirm() not working when echoed by PHP
我正在尝试通过下面的 PHP 回显使用 JavaScript 确认()框,但它不起作用。
echo '<a href="http://sdfsdfs.com?keepThis=true&TB_iframe=true&height=10&width=1200&x=2342342&enter_other_room=2" class="box" TARGET="_self" oncontextmenu="return false;" onclick="confirm(\"Are you sure you want to enter the users\'s Room?\");\">User\'s Room</a>';
我在这里缺少什么?
你不能在 HTML 属性中转义引号,所以onclick="confirm(\\"...\\");"
不会工作。 在字符串周围加上单引号。 由于它位于 PHP 单引号字符串中,因此您需要为 PHP 转义它们。
由于字符串中包含撇号,因此您需要为 Javascript 转义它。 您必须将反斜杠加倍才能在 PHP 字符串中添加一个文字反斜杠。 还有第三个反斜杠可以为 PHP 转义它。
echo '<a href="http://sdfsdfs.com?keepThis=true&TB_iframe=true&height=10&width=1200&x=2342342&enter_other_room=2" class="box" TARGET="_self" oncontextmenu="return false;" onclick="confirm(\'Are you sure you want to enter the users\\\'s Room?\');\">User\'s Room</a>';
js CONFIRM() 函数返回真或假。 您不是在查看用户的回答。
这是一个通用函数,它将询问您的问题并将用户发送到您的 URL。 把它放在你的 HTML 中。
<script>
function myChoice(question,location) {
var answer = confirm(question);
if (answer) {
window.location.href=location;
}
else {
alert("you're staying here!");
}
}
</script>
您仍然可以使用 PHP echo() 来生成问题和 URL,重用相同的函数。
echo '
<a href="#" class="box" TARGET="_self" oncontextmenu="return false;"
onclick="myChoice(\'Are you sure you want to enter the users Room?\',\'http://sdfsdfs.com?keepThis=true&TB_iframe=true&height=10&width=1200&x=2342342&enter_other_room=2\');">Users Room</a>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.