想用JAVASCRIPT调用PHP函数,调用没有什么问题,但是传值就麻烦了
PHP 传值给JAVASCRIPT www.shengfang.org
$k=1;
echo '<Script LANGUAGE=JavaScript>';
echo "var y=$k;";
echo "</script>";
但是 JAVASCRIPT不能传值给PHP: www.shengfang.org
javascript的变量值能赋给PHP变量?
PHP在服务器端,而JS在客户端,只有提交过去
这个完全是不可逆的逻辑
代码的运行是先服务器然后才客户端,php属于服务器端脚本,运行完成之后得到的结果发送到客户端,让客户端脚本进行处理,而仅仅只有一个页面的时候,无论如何是不能将客户端的JS变量赋给服务器端的
请问能在javascript中对session值进行操作吗?
因为Javascript是客户端脚本程序;Session是服务器端用来记录信息的类似变量的东东,是不一样的,不能相互控制;
cookie的基本格式 www.shengfang.org
cookiename+cookievalue;expire=expirationdategmt;path=urlpath;domain=sitedomain
其中各项以;分开,首先是指定cookie的名称,并为其赋值。接下来分别是cookie的有效期,url路径以及域名,在这几项中,除了第一项以外,其它部分均为可选项。
JAVASCRIPT操作COOKIE
expireDate = new Date ;
document.cookie="userName=sfsf;expires="+expireDate.toGMTString() ;
<SCRIPT LANGUAGE="JavaScript">
function setCookie(name,value)
{ www.shengfang.org
var Days = 30;
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)
{ www.shengfang.org
thisCookie=document.cookie.split("; ");
for (i=0; i<thisCookie.length;i++)
{
temp=thisCookie[i].split("=");
alert(temp);
if(temp[0]==name)
return temp[1];
else
return null;
//alert("', and the value is '"+thisCookie[i].split("=")[1]+"'<BR>");
}
//var arr,reg=new RegExp("(^ | )"+name+"=([^;]*)(; |$)");
/*var arr,reg=new RegExp("(^ | )"+name+"=([^;]*)(; |$)");
alert(reg);
if(arr=document.cookie.match(name))
return unescape(arr[2]);
else
return null; */
}
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
} www.shengfang.org
expireDate = new Date ;
document.cookie="userName=sfsf; expires="+expireDate.toGMTString() ;
setCookie("usersfsf","sssssssss");
alert(getCookie("usersfsf"));
delCookie("usersfsf");
alert(thisCookie); www.shengfang.org
这是人家的例子,但是实际上页面还是有刷新,这样就比较讨厌~
n3856120 - 星期二 十月 07, 2003 1:26 pm
文章主題:
--------------------------------------------------------------------------------
首先感謝 duan 大大的回覆, 我在友站發問時, 也是有人告訴我可以這樣做,
不過我找到另一個比較符合我的想法的, 提出來給大家參考參考囉 ....
<script language="javascript">
function change(){
vi = document.form1.select1.options[document.form1.select1.selectedIndex].value;
window.location.href="test.php?id=" +vi;
}
</script>
$num = $HTTP_GET_VARS['vi'];
<form name="form1">
<select name="select1" onChange="change()">
<option value="1">A</option>
<option value="2">B</option>
</select>
</form>
-------------------------------------我是分隔線
document.form1.select1.options[document.form1.select1.selectedIndex].value;
這行是當我點選 select1 後用來取得 select 的值同時 reload ,
然後將值用 url 的方式送出, 再用 $num = $HTTP_GET_VARS['vi'];
取得, 如此就是在同一頁完成了 ....
會這樣做的原因是, 原本我是用二階層的關聯式下拉選單, 但因為資料是一個國家對應其下的城市, 全世界的城市約超過兩萬個, 二階層的關聯式下拉選單需要一次全部讀進來, 要相當長的時間, 所以我改用這種方式來處理, 當點選一個國家後才 reload 讀城市, 速度快非常多 .......
希望對大家有幫助 .....