在HTML中接收地址欄中傳遞的參數方法有如下三種:
window.open ("11.htm?aa="+dd);問題就是從11.htm中接收aa的值
解決方案如下:
1.使用 window.location.search 來取得後面的參數
// param 爲 參數的名稱
function getParameter(param)
{
var query = window.location.search;
var iLen = param.length;
var iStart = query.indexOf(param);
if (iStart == -1)
return "";
iStart += iLen + 1;
var iEnd = query.indexOf("&", iStart);
if (iEnd == -1)
return query.substring(iStart);
return query.substring(iStart, iEnd);
}
然後調用getParameter 方法: var temp = getParameter("aa");
2.使用 window.location.href 來取得後面的參數
var url=window.location .href;
var aa=url.indexOf('=');
if (aa == -1)
return "";
url=url.substring(aa+1);
window.alert(url);
兩種方法其實思路是一樣的,利用字符串的indexOf屬性來取值。
3。將以下代碼另存爲HTML文件:alixixi.htm,然後打開站點:
http://127.0.0.1/alixixi.htm?log_id=111&cat_id=222&page=333
回車即可顯示演示效果,正常接收由HTML文件傳遞的值.
<script language="JScript">
<!-
var LocString=String(window.document.location.href);
function GetQueryString(str){
var rs=new RegExp("(^|)"+str+"=([^/&]*)(/&|$)","gi").exec(LocString),tmp;
if(tmp=rs)return tmp[2];
return "沒有這個參數";
}
alert("日記編號:"+GetQueryString("log_id"));
alert("分類編號:"+GetQueryString("cat_id"));
alert("所在頁數:"+GetQueryString("page"));
-->
</script>