JS實現頁面間傳值


1.location.href方法
參數傳出頁面Post.html
function Post(){
    //多參值 Read.html?username=baobao&sex=male;
    url="Read.html?username="+escape(document.all.username.value);
    url+="&sex="+escape(document.all.sex.value);
    location.href=url;
}
參數接收頁面Read.html
var url = location.search;
var Request = new Object();
if(url.indexOf("?")!=-1){
    var str = url.substr(1)//去除?號
    strs = str.sqlit("&");
    for(var i = 0;i<strs.length;i++){
        Request[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
    }
}
alert(Request["username"]);
alert(request["sex"]);
//---------------------------------------------------------
1.接收參數:
(1)接收參數函數封裝
function GetRequest() {
    var url = location.search; //獲取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}
(1)調用
var a=GetRequest();
var index_1=a['id'];
優點:取值方便.可以跨域.
缺點:值長度有限制

2.JavaScript靜態頁面值傳遞之Cookie篇
*---------------setCookie(name,value) -----------------
*setCookie(name,value)
* 功能:設置得變量name的值
* 參數:name,字符串;value,字符串.
* 實例:setCookie('username','baobao')
*---------------setCookie(name,value) -----------------
function setCookie(name,value)
{
    var Days = 30; //此 cookie 將被保存 30 天
  var exp = new Date();
  exp.setTime(exp.getTime() +Days*24*60*60*1000);
  document.cookie = name +"="+ escape (value) + ";expires=" + exp.toGMTString();
  location.href = "Read.html";//接收頁面.
}
/*
*---------------get Cookie(name) -----------------
*getCookie(name)
* 功能:取得變量name的值
* 參數:name,字符串.
* 實例:alert(getCookie("baobao"));
*---------------get Cookie(name) -----------------
*/
function getCookie(name){
    var arr = document.cookie.match(new RegExp("(^|)"+name+)=([^;]*)(;|$));
    if(arr!=null){
        return unescape(arr[2]);
    }
    else{
        return null;
    }
}
頁面引用alert(getCookie("baobao"));
優點:可以在同源內的任意網頁內訪問.生命期可以設置.
缺點:值長度有限制.

3.JavaScript靜態頁面值傳遞之Window.open篇
這兩窗口之間存在着關系.父窗口parent.htm打開子窗口son.htm
子窗口可以通過window.opener指向父窗口.這樣可以訪問父窗口的對象.
<input type=text name=maintext>//設置為父窗口
<input type=button value="Open">
Read.htm
<scriptlanguage="javascript" >
    //window.open打開的窗口.
    //利用opener指向父窗口.
    var parentText = window.opener.document.all.maintext.value;
    alert(parentText);
</script>
優點:取值方便.只要window.opener指向父窗口,就可以訪問所有對象.不僅可以訪問值,還可以訪問父窗口的方法.值長度無限制.
缺點:兩窗口要存在着關系.就是利用window.open打開的窗口.不能跨域.





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM