javascript是浏览器端的脚本
php是服务器端的脚本
解决办法是:
1. 在javascript里使用ajax调用服务器端脚本,把返回的结果给javascript.
2.在php里动态输出javascript,在输出过程中可以输出php的执行结果给javascript。
例如:
echo '<script type="text/javascript">'
echo 'var id = ' . phpfunction() . ''
echo '</script>'
这样的话id的值就是phpfunction执行的结果。
3.如果是php内置函数,网上有javascript实现的php函数脚本,实现了大多数php函数的javascript版本。
一个在前端执行,一个在后端执行,js取不到php变量实时的值。只有当用户打开网页时才能直接用php的值,其他情况需要向服务器发送消息请求php的变量值(可用ajex)。
打开网页时,php值传给js有两种方法:
第一种将html代码当成一个字符串,如:
$v = json_encode($v)
$html="<script> var val = {$v} </script>"
第二种将值放入html中,取html元素的值,如:
<?php
$v = json_encode($v)
?>
<html>
<script>
var val = $("#val").html()
</script>
<body>
<div id='val'><?php echo $v ?></div>
</body>
</html>