我正在尝试将JS变量传递给php echo语句。
这是我的代码
<?php print '<a href="thisTest.html?id=my_JS_value">test</a>'; ?>
我该怎么做
我只是测试它并且它可以工作,但我怎么能在href中写入值
警报(myvalue的); “;
答案 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