在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>