Javascript html onClick打开存储在php变量中的url
下面是我的代码,我得到了Javascript html onClick打开存储在php变量中的url,javascript,php,html,Javascript,Php,Html,下面是我的代码,我得到了未捕获的语法错误:意外标记},但我在代码中没有看到任何}窗口。open需要引号中的url,我尝试了单引号和双引号的不同组合,但不起作用,也无法在echo中转义双引号。请帮助 谢谢 <?php $a = "https://www.google.co.in/"; ?> <html> <body> <form> <input type="button" width="100" onClick="window.open(
未捕获的语法错误:意外标记}
,但我在代码中没有看到任何}
<代码>窗口。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>
您将<代码> <代码>字符输入到您的代码> OnCase< /Cord>属性值中。由于使用这些字符来分隔该值,第一个字符在语句的中间结束脚本。
改用“
但这是一个快速和肮脏的黑客。有更好的办法
- 不要试图通过将PHP字符串混合在一起来生成JavaScript字符串。使用健壮的转义函数
json_encode
将为任何简单数据结构提供JavaScript文本(包括所需的引号字符)
- 不要试图通过将字符串混合在一起来生成HTML。使用健壮的转义函数
htmlspecialchars
将满足您的所有需求
例如:
onClick=“window.open()”
但是,当HTML可以执行以下操作时,不要使用JavaScript:
<a href="<?php echo htmlspecialchars($a); ?>" target="_blank">
您应该使用echo“$a”
。主要问题是在onclick属性中使用双引号。或者更好的window.open(“”)
要确定问题所在,请查看JavaScript和HTML,而不是PHP。
<a href="<?php echo htmlspecialchars($a); ?>" target="_blank">