到目前为止,我知道将php变量传递给javascript的两种方法。 一个是通过使用
$(document).ready(function() phpvalue=$("#hiddeninput").val() })
另一个是通过例如按钮和使用onclick
function clickf(phpvalue) { } <input type="submit" onclick="clickf()">
所有这些都很棒但是:
像其他人已经回答过的那样,只要放置一个PHP标签就可以放置JS值了,比如var foo = = $php_value ?>;
或var foo = ;
。
如果要在外部JavaScript文件中使用它,则必须确保PHP解析.js文件。 如果这不是您的选择(例如,您的主机不允许),我建议您在中的
标记中设置值,然后仅从外部JavaScript引用变量。 在这种情况下,我强烈建议你将它们命名为
var app_vars = { foo: = $bar ?> }
,以免弄乱全局对象。
另一种方法是通过Ajax来检索值。 但这种方法的可行性取决于您的用例。
还有另一个提示:如果你想传递多个变量或数组,那么自5.2版以来就有JSON被添加到PHP中:
array('foo', 'bar'), 'val2' => 'hello world' ); ?>
您可以直接生成JavaScript,而不是将值分配给隐藏的输入:
$script = << var phpvalue = $phpvalue; EOT; echo $script;
对于顶级示例,您不需要使用val,您可以使用任何您喜欢的attr。 例如
phpvalue="myvalue"
然后在jquery内
$("#hiddeninput").attr("phpvalue");