php与javascript之间变量的传递方法总结
方法一
传递变量的代码
我们在 php 中可以
JavaScript 中使用变量
代码如下 |
复制代码 |
$code = '<script>';
$code .= '/* <![CDATA[ */';
$code .= 'var global = {';
$code .= 'Url :http://www.zhaoxi.net,';
$code .= 'name :"XiangZi"';
$code .= '};';
$code .= '/* ]]> */';
$code .='</script>';
|
//构建出,然后显示
echo $code;
使用变量很简单
代码如下 |
复制代码 |
var myUrl = global.Url;
var myName = global.name;
|
PHP variable to Javascript variable:
代码如下 |
复制代码 |
<?php $myvar=10; ?>
<script type="text/javascript">
jsvar = <?php echo $myvar; ?>;
document.write(jsvar); // Test to see if its prints 10:
</script>
|
Form variable to Javascript variable:
代码如下 |
复制代码 |
<form name="myform4">
<input type="hidden" name="formvar" value="100">
</form>
<script type="text/javascript">
jsvar = document.myform4.formvar.value;
document.write(jsvar) // test
</script>
|
PHP variable to Form variable:
代码如下 |
复制代码 |
<form name="myform4">
<input type="hidden" name="formvar" value="<?php $phpvar=10; echo $phpvar; ?>"> // PHP code inside HTML!!
</form>
|
Javascript variable to Form variable:
代码如下 |
复制代码 |
<form name="myform3">
<!-- It needn't be a "hidden" type, but anything from radio buttons to check boxes -->
<input type="hidden" name="formvar" value="">
</form>
<script type="text/javascript">
jsvar=10;
document.myform3.formvar.value = jsvar;
</script>
|
ajax与php传值
这是 HTML 表单。它包含一个简单的 HTML 表单和指向 JavaScript 的链接:
代码如下 |
复制代码 |
<html>
<head>
<script src="clienthint.js"></script>
</head>
<body>
<form>
First Name:
<input type="text" id="txt1"
onkeyup="showHint(this.value)">
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>
|
JavaScript
JavaScript 代码存储在 "clienthint.js" 文件中,它被链接到 HTML 文档:
代码如下 |
复制代码 |
var xmlHttp
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML=""
return
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="gethint.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
|
"gethint.php" 中的代码会检查名字数组,然后向客户端返回对应的名字:
代码如下 |
复制代码 |
<?php
// Fill up array with names
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$q=$_GET["q"];
if (strlen($q) > 0)
{
$hint="";
for($i=0; $i<count($a); $i++)
{
if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
{
if ($hint=="")
{
$hint=$a[$i];
}
else
{
$hint=$hint." , ".$a[$i];
}
}
}
}
if ($hint == "")
{
$response="no suggestion";
}
else
{
$response=$hint;
}
echo $response;
?>
|
补充:网页制作,Frontpage