想用JAVASCRIPT调用PHP函数,调用没有什么问题,但是传值就麻烦了

PHP 传值给JAVASCRIPT www.yippeesoft.com
$k=1;
echo \’<Script LANGUAGE=JavaScript>\’;
echo "var y=$k;";
echo "</script>";

但是 JAVASCRIPT不能传值给PHP: www.yippeesoft.com
javascript的变量值能赋给PHP变量?
PHP在服务器端,而JS在客户端,只有提交过去

这个完全是不可逆的逻辑
代码的运行是先服务器然后才客户端,php属于服务器端脚本,运行完成之后得到的结果发送到客户端,让客户端脚本进行处理,而仅仅只有一个页面的时候,无论如何是不能将客户端的JS变量赋给服务器端的

请问能在javascript中对session值进行操作吗?
因为Javascript是客户端脚本程序;Session是服务器端用来记录信息的类似变量的东东,是不一样的,不能相互控制;

cookie的基本格式 www.yippeesoft.com
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)
&leftsign;  www.yippeesoft.com
 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();
&rightsign;
function getCookie(name)
&leftsign;  www.yippeesoft.com
 thisCookie=document.cookie.split("; ");
 for (i=0; i<thisCookie.length;i++)
 &leftsign;
  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>");  
 &rightsign;
 //var arr,reg=new RegExp("(^ &line; )"+name+"=([^;]*)(; &line;$)");
 /*var arr,reg=new RegExp("(^ &line; )"+name+"=([^;]*)(; &line;$)");
 alert(reg);
 if(arr=document.cookie.match(name))
  return unescape(arr[2]);
 else
  return null; */
&rightsign;
function delCookie(name)
&leftsign;
 var exp = new Date();
 exp.setTime(exp.getTime() – 1);
 var cval=getCookie(name);
 if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
&rightsign;  www.yippeesoft.com

expireDate = new Date ;
document.cookie="userName=sfsf; expires="+expireDate.toGMTString() ;
setCookie("usersfsf","sssssssss");
alert(getCookie("usersfsf"));
delCookie("usersfsf");
alert(thisCookie); www.yippeesoft.com

这是人家的例子,但是实际上页面还是有刷新,这样就比较讨厌~

n3856120 – 星期二 十月 07, 2003 1:26 pm
文章主題:
——————————————————————————–
首先感謝 duan 大大的回覆, 我在友站發問時, 也是有人告訴我可以這樣做,
不過我找到另一個比較符合我的想法的, 提出來給大家參考參考囉 …. 

<script language="javascript">
function change()&leftsign;
vi = document.form1.select1.options[document.form1.select1.selectedIndex].value;
window.location.href="test.php?id=" +vi;
&rightsign;
</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 讀城市, 速度快非常多 …….

希望對大家有幫助 …..

历史博文

标签:, , , , , , , ,
十月 30, 2005 at 12:09 下午 by yippee 1,046 次
Category: Dev
Tags: , , , , , , , ,