如上所述,我希望一旦用户点击超链接,它应该复制到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; ?>
我做错了什么?请帮忙。谢谢!
答案 0 :(得分:3)
它不可能像你一样......但它可以通过ajax完成。
php做的是什么
所以你需要制作一个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>