html on单击打开存储在php变量中的url
html onClick open url stored in a php variable
下面是我的代码,我得到了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">
您应该使用echo "'$a'"
。主要的问题是在onclick属性中使用双引号。或者更好的window.open('<?php echo $a; ?>')
。
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 如何在php变量中嵌入JQuery代码
- 在javascript函数中使用php变量
- 将地理编码结果转换为php变量以发布到mysql数据库
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 如何将变量php传递给javascript
- 显示动态变量(php和javascript)的总数
- 传递变量PHP、Javascript location.reload和HTML输入
- 需要将变量 php 的值传递给 javascript,但我不能
- 将变量从 .html 传递到太大而无法容纳在 URL 中的变量.php
- 如何在函数中传递javascript中的变量php
- 在Jquery中插入变量PHP
- 选择正确的变量 php/javascript
- 将HTML存储在变量PHP中,然后回显它
- 将变量PHP Smarty传递给Javascript
- 传递HTML表单post数据到不同的文件/网页javascript变量(php)
- 问题与传递变量(php, sql, jquery拖拽)
- 设置PHP中的javascaript变量(PHP在javascript中)
- 将变量php问题化为代码jquery