将JS变量传递给php echo语句

时间:2013-07-31 22:47:33

标签: php javascript

我正在尝试将JS变量传递给php echo语句。

这是我的代码

<?php print '<a href="thisTest.html?id=my_JS_value">test</a>'; ?>

我该怎么做

我只是测试它并且它可以工作,但我怎么能在href中写入值

警报(myvalue的); “;

4 个答案:

答案 0 :(得分:4)

时间的角度来看,这是不可能的。

运行PHP代码时,没有JavaScript。该页面尚未加载到浏览器中。没有运行JavaScript引擎。没有JavaScript变量。当浏览器呈现页面时,服务器代码已经完成了它的工作。

话虽如此,你可以呈现引用JavaScript函数的HTML。例如:

<?php print '<a href="javascript:DoNav(\'thisTest.html\');">test</a>'; ?>

然后,相应地实施DoNav

function DoNav(url)
{
   location.href = url + '?id=' + my_JS_value; // Navigate to the new URL with the JavaScript variable
}

答案 1 :(得分:1)

JavaScript和PHP无法直接通信,因为JavaScript是客户端,PHP是服务器端,即PHP在JavaScript发送到浏览器之前执行。

实现目标的唯一方法是从JavaScript发送一个调用PHP脚本(例如AJAX)的请求,并通过GET(如您的示例)或POST传递变量。

答案 2 :(得分:0)

Javascript代码在客户端执行,因此您无权访问它。 您可以使用Javascript创建链接,如下所示:

var my_JS_value = 0;
document.write('<a href="thisTest.html?id=' + my_JS_value+ '\">test</a>');

答案 3 :(得分:0)

您可以使用php插入元素,稍后使用JS设置href属性。无论如何,还有很多其他方法可以实现同样的目标。

<?php 
print '<a id="mylinkelement" >test</a>
<script>
var mylinkelement=getElementById("mylinkelement");
mylinkelement.href="thisTest.html?id="+my_JS_value;
</script>'; 
?>

你甚至不需要php:D