获取超链接网址onclick

时间:2012-09-24 07:24:48

标签: php html

如上所述,我希望一旦用户点击超链接,它应该复制到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; ?>

我做错了什么?请帮忙。谢谢!

3 个答案:

答案 0 :(得分:3)

它不可能像你一样......但它可以通过ajax完成。

php做的是什么

enter image description here

所以你需要制作一个ajax cal并将它分配给php变量

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

您可以通过

发送数据

jquery的

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

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

和some.php

$var = $_POST['value'];

以上方法无需刷新页面

通过url发送此信息,请检查@PLB是否回答

答案 1 :(得分: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'];

答案 2 :(得分: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>