javascript - html onClick 打开存储在 php 变量中的 url

标签 javascript php html

以下是我的代码,我收到 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>

最佳答案

您正在将 " 字符输出到 onClick 属性值中。由于您使用这些字符来分隔值,因此第一个字符会在语句中间结束脚本.

使用 " 代替。

<小时/>

但这是一个快速而肮脏的黑客行为。有更好的方法。

  • 不要尝试通过将 PHP 字符串混合在一起来生成 JavaScript 字符串。使用强大的转义函数。 json_encode 将为您提供任何简单数据结构的 JavaScript 文字(包括需要的引号字符)。
  • 不要尝试通过将字符串混合在一起来生成 HTML。使用强大的转义函数。 htmlspecialchars 将满足您的所有需求。

例如:

onClick="window.open(<?php echo htmlspecialchars(json_encode($a)); ?>)"
<小时/>

但是当 HTML 可以的时候不要使用 JavaScript:

<a href="<?php echo htmlspecialchars($a); ?>" target="_blank">

关于javascript - html onClick 打开存储在 php 变量中的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26543224/

相关文章:

PHP cURL 在发送数据后提供 SSL 错误?

php - 使用 PHP 不显示 Mysql 主机信息

javascript - 在 Bootstrap 中横向隐藏/显示 col-4(近似)div/元素

javascript - 修改 Canvas 大小时的 html5 Canvas 行为

javascript - 从其他原型(prototype)调用原型(prototype)中的函数

javascript - Highcharts 'bindAxis' 仅适用于一张图表

java - 如何将 JSON 数组转换为 Java 字符串数组

html - 如何使标题的高度取决于背景图像的高度?

javascript - 使用javascript跳转到PDF.js中的页面

javascript - 从 json 中获取容器尺寸并在 css 样式标签中显示值