在PHP中使用JS变量

时间:2011-11-22 12:35:08

标签: php javascript variables

如何在PHP中使用JS变量?

<script>
x = document.getElementById(1).value;
var listOf = <?php echo $listOf[x]; ?>;
</script>

这不起作用:(

7 个答案:

答案 0 :(得分:1)

理所当然。 PHP在服务器上执行,而JavaScript则在客户端的浏览器中执行。这是两个不同的上下文,一个变量在第二个中不可见。

您需要让PHP脚本输出数组的JavaScript版本,然后在脚本中使用此脚本。像这样:

<?php
echo "listArray = new Array();\n";
foreach ($listArray as $key => $value) {
   echo 'listArray[', $key, '] = ', $value, ";\n";
}

答案 1 :(得分:1)

这是不可能的,因为两者都是不同的语言,所以你不能使用javascript变量 在php里面的javascript

答案 2 :(得分:0)

你不能像这样直接使用它。

您必须使用AJAX将值从客户端发送到服务器端,然后才能看到它。

使用jQuery它可以变得非常简单:

x = document.getElementById(1).value;
$.get("mypage.php?x=" + x, function(result) {
    alert("response from PHP: " + result);
});

在PHP中,从查询字符串中读取x并发送正确的输出。

答案 3 :(得分:0)

这是不可能的。 PHP在服务器端执行,甚至在其输出到达浏览器之前。 JS在浏览器中执行客户端。除非使用此变量x调用其他PHP脚本,否则不能这样做。

答案 4 :(得分:0)

你做不到。当PHP在服务器上运行时,JavaScript在您的浏览器中运行。 JavaScript与PHP通信的唯一方法是使用AJAX(XMLHttpRequest),将JavaScript与PHP分开。

答案 5 :(得分:0)

像这样 如果你把php放在任何单引号或双引号中而不是它的工作

<script type='text/javascript'>
x = document.getElementById(1).value;
var listOf = "<?php echo $listOf[x]; ?>";
</script>

答案 6 :(得分:0)

这会将javascript变量转换为php变量。

<script>
function sud(){

javavar=document.getElementById("text").value;  

document.getElementById("rslt").innerHTML="<?php 
$phpvar='"+javavar+"'; 
echo $phpvar.$phpvar;?>";
}

function sud2(){
document.getElementById("rslt2").innerHTML="<?php 
echo $phpvar;?>";
}

</script> 
<body>
<div id="rslt">
</div>

<div id="rslt2">
</div>
<input type="text" id="text" />
<button onClick="sud()" >Convert</button>
<button onClick="sud2()">Once Again</button>

</body>

演示:http://ibence.com/new.php