Javascript獲取HTML靜態(tài)頁(yè)面參數(shù)傳遞值示例
更新時(shí)間:2013年08月18日 11:16:42 作者:
獲取HTML靜態(tài)頁(yè)面參數(shù)傳遞值可以利用split函數(shù)來按參數(shù)切成數(shù)組、利用正則表達(dá)式來獲取,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下
給大家看一下我的代碼 只要把這些代碼嵌入到頁(yè)面文件即可
例一
利用正則表達(dá)式來獲取
var LocString = String(window.document.location.href);
function getQueryStr(str) {
var rs = new RegExp("(^|)" + str + "=([^&]*)(&|$)", "gi").exec(LocString), tmp;
if (tmp = rs) {
return tmp[2];
}
// parameter cannot be found
return "";
}
調(diào)用方法
document.getElementById("user").value = getQueryStr("user");
document.getElementById("password").value = getQueryStr("password");
document.getElementById("sysno").value = getQueryStr("sysno");
例二
利用split函數(shù)來按參數(shù)切成數(shù)組
<script>
urlinfo=window.location.href; //獲取當(dāng)前頁(yè)面的url
len=urlinfo.length;//獲取url的長(zhǎng)度
offset=urlinfo.indexOf("?");//設(shè)置參數(shù)字符串開始的位置
newsidinfo=urlinfo.substr(offset,len)//取出參數(shù)字符串 這里會(huì)獲得類似“id=1”這樣的字符串
newsids=newsidinfo.split("=");//對(duì)獲得的參數(shù)字符串按照“=”進(jìn)行分割
newsid=newsids[1];//得到參數(shù)值
alert("您要傳遞的參數(shù)值是"+newsid);
</script>
不過一定要記得 這個(gè)方法只是針對(duì)含有參數(shù)的url有用 ,如果對(duì)方用了POST方法傳遞參數(shù), url中是不會(huì)含有參數(shù)的所以這個(gè)技巧只對(duì)GET方法或者指定了參數(shù)的url有用哦
下面看一個(gè)完整的實(shí)例
aa.htm是參數(shù)輸滲入滲出界面
bb.htm是參數(shù)接收處理界面
aa.htm
<html>
<head>
</head>
<body>
<script>
function submit()
{
var input1 = document.getElementById("inputid");
window.open("bb.htm?inputStr=" + input1.value);//傳入?yún)?shù)
}
</script>
<input type = "text" id = "inputid">
<input type = "button" onclick = "submit()" value = "提交">
</body>
</html>
bb.htm:
<html>
<head>
<script>
//獲得參數(shù)的方法
var request =
{
QueryString : function(val)
{
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.leng th+1)):null);
}
}
</script>
</head>
<body>
<script>
//調(diào)用方法獲得參數(shù)
var rt = request.QueryString("inputStr");
alert(rt);
</script>
</body>
</html>
bb.htm
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT LANGUAGE="JavaScript">
<!--
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.leng th+1)):null);
}
}
var a = request.QueryString ("a");
var b = request.QueryString ("b");
var c = request.QueryString ("c");
if ((a != null)){a=a} else{a="參數(shù)A空"}
if ((b != null)){b=b} else{b="參數(shù)B空"}
if ((c != null)){c=c} else{c="參數(shù)C空"}
document.writeln("參數(shù)A: " + a);
document.writeln("<br>參數(shù)B: " + b);
document.writeln("<br>參數(shù)C: " + c);
//-->
</SCRIPT>
</head>
<body>
<form name="form1" action="?">
請(qǐng)輸入?yún)?shù)值:<br>
<SCRIPT LANGUAGE="JavaScript">
document.writeln("A:<input type='text' name='a' value='"+a+"'><br>");
document.writeln("B:<input type='text' name='b' value='"+b+"'><br>");
document.writeln("C:<input type='text' name='c' value='"+c+"'><br>");
</SCRIPT>
<input type="submit" name="Submit" value="提交參數(shù)查觀效果">
</form>
</body>
</html>
例一
利用正則表達(dá)式來獲取
復(fù)制代碼 代碼如下:
var LocString = String(window.document.location.href);
function getQueryStr(str) {
var rs = new RegExp("(^|)" + str + "=([^&]*)(&|$)", "gi").exec(LocString), tmp;
if (tmp = rs) {
return tmp[2];
}
// parameter cannot be found
return "";
}
調(diào)用方法
復(fù)制代碼 代碼如下:
document.getElementById("user").value = getQueryStr("user");
document.getElementById("password").value = getQueryStr("password");
document.getElementById("sysno").value = getQueryStr("sysno");
例二
利用split函數(shù)來按參數(shù)切成數(shù)組
復(fù)制代碼 代碼如下:
<script>
urlinfo=window.location.href; //獲取當(dāng)前頁(yè)面的url
len=urlinfo.length;//獲取url的長(zhǎng)度
offset=urlinfo.indexOf("?");//設(shè)置參數(shù)字符串開始的位置
newsidinfo=urlinfo.substr(offset,len)//取出參數(shù)字符串 這里會(huì)獲得類似“id=1”這樣的字符串
newsids=newsidinfo.split("=");//對(duì)獲得的參數(shù)字符串按照“=”進(jìn)行分割
newsid=newsids[1];//得到參數(shù)值
alert("您要傳遞的參數(shù)值是"+newsid);
</script>
不過一定要記得 這個(gè)方法只是針對(duì)含有參數(shù)的url有用 ,如果對(duì)方用了POST方法傳遞參數(shù), url中是不會(huì)含有參數(shù)的所以這個(gè)技巧只對(duì)GET方法或者指定了參數(shù)的url有用哦
下面看一個(gè)完整的實(shí)例
aa.htm是參數(shù)輸滲入滲出界面
bb.htm是參數(shù)接收處理界面
aa.htm
復(fù)制代碼 代碼如下:
<html>
<head>
</head>
<body>
<script>
function submit()
{
var input1 = document.getElementById("inputid");
window.open("bb.htm?inputStr=" + input1.value);//傳入?yún)?shù)
}
</script>
<input type = "text" id = "inputid">
<input type = "button" onclick = "submit()" value = "提交">
</body>
</html>
bb.htm:
<html>
<head>
<script>
//獲得參數(shù)的方法
var request =
{
QueryString : function(val)
{
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.leng th+1)):null);
}
}
</script>
</head>
<body>
<script>
//調(diào)用方法獲得參數(shù)
var rt = request.QueryString("inputStr");
alert(rt);
</script>
</body>
</html>
bb.htm
復(fù)制代碼 代碼如下:
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT LANGUAGE="JavaScript">
<!--
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.leng th+1)):null);
}
}
var a = request.QueryString ("a");
var b = request.QueryString ("b");
var c = request.QueryString ("c");
if ((a != null)){a=a} else{a="參數(shù)A空"}
if ((b != null)){b=b} else{b="參數(shù)B空"}
if ((c != null)){c=c} else{c="參數(shù)C空"}
document.writeln("參數(shù)A: " + a);
document.writeln("<br>參數(shù)B: " + b);
document.writeln("<br>參數(shù)C: " + c);
//-->
</SCRIPT>
</head>
<body>
<form name="form1" action="?">
請(qǐng)輸入?yún)?shù)值:<br>
<SCRIPT LANGUAGE="JavaScript">
document.writeln("A:<input type='text' name='a' value='"+a+"'><br>");
document.writeln("B:<input type='text' name='b' value='"+b+"'><br>");
document.writeln("C:<input type='text' name='c' value='"+c+"'><br>");
</SCRIPT>
<input type="submit" name="Submit" value="提交參數(shù)查觀效果">
</form>
</body>
</html>
您可能感興趣的文章:
- js setTimeout 參數(shù)傳遞使用介紹
- JavaScript Base64編碼和解碼,實(shí)現(xiàn)URL參數(shù)傳遞。
- JS的參數(shù)傳遞示例介紹
- 四種參數(shù)傳遞的形式——URL,超鏈接,js,form表單
- Js從頭學(xué)起(基本數(shù)據(jù)類型和引用類型的參數(shù)傳遞詳細(xì)分析)
- JavaScript函數(shù)的調(diào)用以及參數(shù)傳遞
- javascript自定義函數(shù)參數(shù)傳遞為字符串格式
- javascript實(shí)現(xiàn)html頁(yè)面之間參數(shù)傳遞的四種方法實(shí)例分析
- JS 參數(shù)傳遞的實(shí)際應(yīng)用代碼分析
- JavaScript函數(shù)參數(shù)的傳遞方式詳解
相關(guān)文章
js調(diào)用后臺(tái)servlet方法實(shí)例
今天做歷史記錄查詢功能,遇到了前后臺(tái)方法互相調(diào)用的問題,研究了一下,把成功經(jīng)驗(yàn)記錄一二。2013-06-06
window.location和document.location的區(qū)別分析
用戶不能改變document.location(因?yàn)檫@是當(dāng)前顯示文檔的位置)。但是,可以改變window.location (用其它文檔取代當(dāng)前文檔)window.location本身也是一個(gè)對(duì)象,而document.location不是對(duì)象2008-12-12
探索Emberjs制作一個(gè)簡(jiǎn)單的Todo應(yīng)用
使用Emberjs制作一個(gè)簡(jiǎn)單的Todo應(yīng)用,需要的朋友可以參考下2012-11-11
基于javascript實(shí)現(xiàn)checkbox復(fù)選框?qū)嵗a
這篇文章主要介紹了基于javascript實(shí)現(xiàn)checkbox復(fù)選框?qū)嵗a,感興趣的小伙伴們可以參考一下2016-01-01
JavaScript大神級(jí)的高效編碼經(jīng)驗(yàn)技巧
JavaScript,以其無(wú)與倫比的靈活性和強(qiáng)大的表達(dá)能力,成為了前端開發(fā)者的得力助手,但精通它并非易事,有不少的JavaScript高效編程代碼,裝逼指南,高逼格代碼,讓你的代碼看起來就有大神風(fēng)范,快來鑒賞一下吧2025-02-02

