2013-07-31 81 views
-3

我想将JS变量传递给php回声语句。将JS变量传递给php回声语句

这里是我的代码

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

我怎么能做到这一点

我只是测试这和它的作品,但我怎么能写在href

警报(myvalue的)中的值; “

+1

你是如何调用PHP?你没有显示JS。现在你正在打印出一段文字... – Floris

回答

4

这是不可能的从时间来看

当运行PHP代码,没有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 
} 
+0

但我在页面加载后使用这个回声 –

+0

我认为JS必须触发另一页的加载,并通过_GET或_POST传递变量的值... – Floris

+0

@ManMann - 然后你需要实现一种将JavaScript变量传递回服务器的方法。这通常通过AJAX,URL参数或隐藏表单域来完成。 –

1

JavaScript和PHP不能直接通信,如JavaScript是客户端和PHP是服务器端,前JavaScript是发送到浏览器,即PHP被执行。

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

0

Javascript代码在客户端执行,所以您无法访问它。 你可以只使用JavaScript创建链接,就像这样:

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