我有一个JavaScript函数,它从HTML中的select选项中获取一个值:
<script type="text/javascript">
function showUser(str) {
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var str=xmlhttp.responseText;
var splitstr=str.split('||');
document.getElementById("txtHint").innerHTML=splitstr[0];
document.getElementById("txtval").innerHTML=splitstr[1];
}
}
xmlhttp.open("GET","getdetails.php?q="+str,true);
xmlhttp.send();
}
</script>
现在,str
是JavaScript变量,我想取它的值并将其放入PHP变量中。
我正在使用这个,但它不工作:
$grade = "<script language=javascript>document.write(str);</script>";
echo $grade;
正确的方法是什么?
2条答案
按热度按时间qv7cva1a1#
PHP
在Web服务器上运行,因此它仅在页面加载时执行。因此,上面的语句将不会工作,因为它在页面加载后调用的函数中运行。为了实现你想要的,你可以通过 AJAX 调用把str发送到一个php文件,并把它存储在一个会话变量中。然后,每当你需要这个变量时,调用另一 AJAX 函数,它将检索会话值。
unftdfkk2#
你可以使用jQuery来处理 AJAX 调用。请确保在html页面中包含这一行。
使用javascript调用PHP并发送str数据。
在服务器端创建dossomething.php将使您需要的过程。
在你的javascript成功部分将被激活,你可以使用代码和描述来构建你的逻辑。