-3

如上所述,我希望一旦用户单击超链接,它应该复制到 PHP 中的变量中。有可能做到吗?

这是我尝试过的,但似乎没有任何结果?

代码:

    <script type="text/javascript">
    function getdl(){
        var dlink = (document.getElementById('getdllink').getAttribute('onclick'))
         <? $url ?> = var dlink
    }
    </script>

<a id="getdllink" onclick="getdl()" href="#"><strong>Master Prospectus</strong></a></font>
            <? echo $url; ?>

我做错事情了?请帮忙。谢谢!

4

3 回答 3

4

你在做什么是不可能的......但它可以通过ajax来完成。

php的作用是:

在此处输入图像描述

因此,您需要进行 ajax 调用并将其分配给 php 变量。

我建议你使用jquery。它非常简单有效。

您可以通过以下方式发送数据

jQuery:

$("id or class of link").live("click",function(){
var val = $("#getdllink").val();

$.ajax({
  type: "POST",
  url: "some.php",
  data: { value :  val    }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});
 return false; // Prevent browser from visiting link
})

在 some.php 中

$var = $_POST['value'];

上述方法不需要刷新页面

通过 url 发送这个检查@PLB 的答案,这很好

于 2012-09-24T07:26:51.940 回答
3

是的,你做错了。PHP是服务器端的,所以它在客户端之前执行。这意味着您不能直接将 javascript 变量分配给 php 变量,因为它已经被解释过了。您必须使用 ajax 发送它。

这是示例:

var http = new XMLHttpRequest();
var myVar = 'myValue';
http.onreadystatechange=function(){
    if (http.readyState==4 && http.status==200){
        //Do whatever you want with respnse you'll get in http.responseText
        //http.responseText will contain text what php will print. In this
        //example value of myVar.
    }
}
http.open("GET","yourScript.php?myvar=" + myVar);
http.send();

在 PHP 方面,您可以执行以下操作:

echo $_GET['myvar'];
于 2012-09-24T07:27:12.770 回答
0

下面是如何在没有 AJAX 或 PHP 的情况下做到这一点......

<script type="text/javascript">
function getdl(){
    var dlink = (document.getElementById('getdllink').getAttribute('href'))
    document.getElementById('dest').innerHTML = dlink
    return false
}
</script>


<a id="getdllink" onclick="return (getdl())" href="http://www.google.com"><strong>Master Prospectus</strong></a><br />


<span id="dest"></span>
于 2012-09-24T07:31:32.620 回答