javascript函数中的PHP变量
我试图在javascript函数中放入一个php变量,但运气不好,下面是我得到的javascript函数中的PHP变量,php,javascript,Php,Javascript,我试图在javascript函数中放入一个php变量,但运气不好,下面是我得到的 <a class="code" href="javascript:void(0);" onclick="javascript:if(window.dd && dd.elements) d.elements.name1.moveTo(<? echo "$xpos"; ?>, <? echo "$ypos"; ?>); return false;">
<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>
我对这一点有点陌生,如果您还没有注意到,请提前感谢:)我猜XPO和YPO在处理部分页面时不在范围内 作用域指的是封闭的大括号。例如,以下操作将不起作用
$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个我猜在处理部分页面时XPO和YPO不在范围内 作用域指的是封闭的大括号。例如,以下操作将不起作用
$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个请尝试不使用双引号
echo $xpos;
尽量不要用双引号
echo $xpos;
这只是为了澄清,但您似乎有一个输入错误(
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>
一些问题:
- 您不需要PHP变量interpolation,
本身就可以了$xpos
应该只有一个返回false的表达式,因此最好将其包装到其他位置的函数中。这里我用了一个匿名的onclick
另外,
onclick
不需要以'javascript:
开头,因为它已经是隐式的了。这只是为了澄清,但您似乎有一个打字错误(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>
一些问题:
- 您不需要PHP变量interpolation,
本身就可以了$xpos
应该只有一个返回false的表达式,因此最好将其包装到其他位置的函数中。这里我用了一个匿名的onclick
另外,
onclick
不需要以的javascript:
开头,因为它已经隐式地以javascript:开头了。是否尝试查看html源代码?您可能想查看$xpos
和$ypos
返回的内容。感谢您的快速响应,我已尝试回显变量,它确实返回了正确的数字,我还应该提到,最初变量是从上一页发送的$GET分配的,引号可能有问题?你能发布HTML源代码吗?Ie,转到页面,然后复制并粘贴是的,需要查看生成的源代码。是否尝试查看html源代码?您可能想查看$xpos
和$ypos
返回的内容。感谢您的快速响应,我已尝试回显变量,它确实返回了正确的数字,我还应该提到,最初变量是从上一页发送的$GET分配的,引号可能有问题?你能发布HTML源代码吗?Ie,转到页面,然后复制并粘贴yup,需要查看生成的源代码。为了增强上述答案,您也可以使用语法打印XPO,但范围仍然很重要,并且在某些安装中无法工作(由于php.ini设置)因此,我个人不推荐这种方法,只是为了增强上述答案,您也可以使用语法打印XPO,但范围仍然很重要,并且在某些安装中无法工作(由于php.ini设置)因此,我个人不推荐这种方法,假设dd
是一个表单名称,您也不应该将window.dd
或dd
用作变量名称。这仅适用于IE。使用document.forms.dd.elements
。最后,为了明智起见,考虑将多行处理程序函数移出到<代码> <代码>块或外部脚本中,分配给<代码>链接。OnCase=函数(){返回false;}code>href=“#”
也没有javascript:
伪URL那么难看。(始终避免使用javascript:
)假设dd
是一个表单名,您也不应该将window.dd
或dd
用作变量名。这仅适用于IE。使用document.forms.dd.elements
。最后,为了明智起见,考虑将多行处理程序函数移出到<代码> <代码>块或外部脚本中,分配给<代码>链接。OnCase=函数(){返回false;}code>href=“#”也没有javascript:伪URL那么难看。(始终避免使用javascript:
)