以下是我的代码,我收到了Uncaught SyntaxError: Unexpected token }
,但我的代码中没有看到任何}
。 window.open
期待引号中的url,我尝试了单引号和双引号的不同组合,但没有工作,也无法逃避echo中的双引号。请帮助
谢谢..
<?php
$a = "https://www.google.co.in/";
?>
<html>
<body>
<form>
<input type="button" width="100" onClick="window.open(<?php echo '"'; echo $a; echo '"'; ?>)" height="100%" value="Edit Record"/>
</form>
</body>
</html>
答案 0 :(得分:1)
您正在将"
个字符输出到onClick
属性值中。由于您使用这些字符来分隔值,因此第一个字符在语句的中间结束脚本。
改为使用"
。
但这是一个快速而肮脏的黑客。有更好的方法。
json_encode
将为您提供任何简单数据结构的JavaScript文字(包括所需的引号字符)。htmlspecialchars
将为您提供所需的一切。这样:
onClick="window.open(<?php echo htmlspecialchars(json_encode($a)); ?>)"
但HTML不会使用JavaScript:
<a href="<?php echo htmlspecialchars($a); ?>" target="_blank">
答案 1 :(得分:0)
您应该使用echo "'$a'"
。主要问题是你的onclick属性中会有双引号。甚至更好window.open('<?php echo $a; ?>')
。