-3

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

这是我的代码

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

我怎样才能做到这一点

我只是对此进行了测试,它可以工作,但是如何在 href 中写入值

警报(我的价值);";

4

4 回答 4

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
}
于 2013-07-31T22:49:23.837 回答
1

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

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

于 2013-07-31T22:50:43.200 回答
0

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

var my_JS_value = 0;
document.write('<a href="thisTest.html?id=' + my_JS_value+ '\">test</a>');
于 2013-07-31T22:55:42.460 回答
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

于 2013-07-31T22:56:23.493 回答