我试图将一个php变量放在一个javascript函数中并且没有运气,这就是我得到的
<a class="code" href="javascript:void(0);"
onclick="javascript:if(window.dd && dd.elements)
d.elements.name1.moveTo(<? echo "$xpos"; ?>, <? echo "$ypos"; ?>);
return false;">
name1.moveTo(name1.x-20, name1.y+7);</a>
`
moveTo()函数在我发送javascript变量或简单数字时效果很好。
它在php变量中的原因是因为我需要xpos在一个会话变量里面才能在其他地方访问。之后我将其分配如下
$_SESSION['productcheck']['x'] = $xpos;
我对此有点新鲜,如果您还没有注意到,请提前感谢您:)
答案 0 :(得分:2)
尽量不要加双引号。
echo $xpos;
答案 1 :(得分:2)
这只是为了澄清,但您似乎有一个拼写错误(d
应为dd
)。校正:
<a class="code" href="javascript:void(0);"
onclick="return (function () {
if(window.dd && dd.elements)
dd.elements.name1.moveTo(<? echo $xpos; ?>, <? echo $ypos; ?>);
return false;
})()"
>
name1.moveTo(name1.x-20, name1.y+7);
</a>
一些问题:
$xpos
本身就可以了onclick
应该只有一个返回false的表达式,所以你最好将它包装在其他地方的函数中。我在这里用了一个匿名的另外,onclick
不需要以'javascript:
开头,因为它已经隐含了。
答案 2 :(得分:0)
我的猜测是xpos和ypos在处理页面的部分时不在范围内。
范围指的是封闭的大括号。例如,以下将无法正常工作
$xpos = 100;
function printx(){
echo $xpos; // enclosing quotes not required
}
// call the function
printx();
什么都不打印
修复它使用以下
$xpos = 100;
function printx(){
global $xpos;
echo $xpos; // enclosing quotes not required
}
// call the function
printx();
然后打印100