我想通过一个php变量里面的JavaScript bt它不工作。是否有可能在JavaScript内部传递一个php变量?
<a href="javascript:wait1();getPass('<?php echo $current?>');">Comment</a>
是否有可能这样做,否则我可能是不正确的地方......
感谢提前您的答复! :)
我想通过一个php变量里面的JavaScript bt它不工作。是否有可能在JavaScript内部传递一个php变量?
<a href="javascript:wait1();getPass('<?php echo $current?>');">Comment</a>
是否有可能这样做,否则我可能是不正确的地方......
感谢提前您的答复! :)
您正在动态生成Javascript。如果你需要这样做,你可以节省一些头痛,保持简单。从PHP数据可以在页面的顶部转移到JavaScript中的最简单的方法:
<script type="text/javascript" >
var $current = '<%? echo $current; %>';
</script>
正如其他人所指出的那样,你将要编码和引用你的PHP变量,使用json_encode
(在这种情况下,你可能不需要引号),或者如果您知道可能的值,则可以使用更简单的转义函数。现在
,你的内嵌代码可以更简单:
<a href="javascript:wait1();getPass($current);">Comment</a>
最后一个建议是拉了这一点,为自己的功能,并使用“点击”属性。
首先,您可能应该将'java'标记更改为'javascript'。
关于你的问题 - PHP在服务器端解析,而Javascript在客户端运行。如果你不打算使用AJAX和异步调用,你可以写值到JS源,如:
<script type="text/javascript">
var foo = <?php echo $yourData; ?>;
alert(foo);
</script>
实际上,我使用AJAX ....所以,坚持这个问题。 – 2010-09-22 06:51:57
使用json_encode()
如果你的PHP有它。
这会自动引用并转义您的字符串,并确保特殊字符被正确编码以防止跨站点脚本攻击(XSS)攻击。 但是,我认为你必须将UTF-8字符串传递给这个函数。
而且vol7ron好点–你应该把分号;
您的发言后,把那和更好的可读性问号?
之间的空间。
<a href="javascript:wait1();getPass(<?php echo json_encode($current); ?>);">Comment</a>
您也可以通过布尔,整数,甚至整个阵列json_encode()
将它们传递给JavaScript。
很确定'?'*不会被解释为运算符。 – mpen 2010-09-22 06:29:55
谢谢!我无法观察到我的PHP版本,但不确定。删除了该部分。 – Archimedix 2010-09-22 06:35:23
<a href="javascript:wait1();getPass('<?=$current?>');">Comment</a>
对我来说,当我赋值'<?php $ current =“hai”>> – svk 2010-09-22 06:08:35
在'$ current'之后放置一个';'并且/或者在'$ current'之后放置一个空格:'' <$ php echo $ current; ?>' – vol7ron 2010-09-22 06:12:48
你能否详细说明“不工作”?什么是html输出? – mpen 2010-09-22 06:25:25