将js变量传递给php变量

时间:2011-04-27 20:32:33

标签: php javascript ajax

我想将刚刚单击的标记的id值传递给使用greybox加载到页面的php文件。

我将id存储在名为linkID的js变量中,我可以使用location.href传递正确的id,但这需要页面重新加载并且不能与greybox一起使用。可以,也许我怎样才能使用Ajax来帮助在后台发送这些信息? 任何帮助将不胜感激?

获取点击标记的ID的Javascript

<script type="text/javascript">
function myCallback(caller)
{
  var linkID =caller.id; 
  location.href="species/butterfly.php?linkID=" + linkID;
  alert(linkID);
  }
</script>

index.php中的html标签

<div id="stump">
<a href="#" id="2" class="hedgehog descript"  title="Hedgehog"
 rel="gb_page_center[1020, 550]" onclick="myCallback(this)"></a>
</div><!--close stump div -->

试图接收id的butterfly.php页面

<?php
// Retrieve the URL variables (using PHP).
$linkid = $_GET['linkID'];
echo "Number: ".$linkid;
?>

2 个答案:

答案 0 :(得分:0)

var myCallback = function(caller){
    var linkID = caller.id; 

    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("POST","species/butterfly.php",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("linkID="+linkID;);

    xmlhttp.onreadystatechange = function(){
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
            alert("Request complete. Data: "+xmlhttp.responseText);
        }
    };

    alert(linkID);
 }

修改

Pure GreyBox:

var myCallback = function(caller){
    var linkID = caller.id; 
    caller.href = "species/butterfly.php?linkID="+linkID;
}

答案 1 :(得分:0)

这会将js变量转换为php变量

<script>
function sud(){

javavar=document.getElementById("text").value;  

document.getElementById("rslt").innerHTML="<?php 
$phpvar='"+javavar+"'; 
echo $phpvar.$phpvar;?>";
}

function sud2(){
document.getElementById("rslt2").innerHTML="<?php 
echo $phpvar;?>";
}

</script> 
<body>
<div id="rslt">
</div>

<div id="rslt2">
</div>
<input type="text" id="text" />
<button onClick="sud()" >Convert</button>
<button onClick="sud2()">Once Again</button>

</body>