三个主要方法:
方法
说明
getQueryString
获取QueryString的数组。
例如路径QueryStringDemo.html?id=5&type=1&flag=0
调用后返回["id=5", "type=1", "flag=0"]
getQueryStringByName
根据QueryString参数名称获取值
getQueryStringByIndex
根据QueryString参数索引获取值
//获取QueryString的数组
function getQueryString(){
var result = location.search.match(new
RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));
if(result == null){
return "";
}
for(var i = 0; i < result.length; i++){
result[i] = result[i].substring(1);
}
return result;
}
//根据QueryString参数名称获取值
function getQueryStringByName(name){
var result = location.search.match(new
RegExp("[\?\&]" + name+
"=([^\&]+)","i"));
if(result == null || result.length < 1){
return "";
}
return result[1];
}
//根据QueryString参数索引获取值
function getQueryStringByIndex(index){
if(index == null){
return "";
}
var queryStringList = getQueryString();
if (index >= queryStringList.length){
return "";
}
var result = queryStringList[index];
var startIndex = result.indexOf("=") + 1;
result = result.substring(startIndex);
return result;
}
测试页面路径:QueryStringDemo.html?id=5&type=1&flag=0
页面加载时:
在QueryString's name后的文本框中输入要获取的QueryString的名称获取相应的值:
在QueryString's
index后的文本框中输入要获取的QueryString的索引获取相应的值(索引从0开始):
这样就可以在页面中方便的获取QueryString的值了。最后附上测试页面QueryStringDemo.html的源代码:
/p>
XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
xmlns="http://www.w3.org/1999/xhtml">
QueryString获取//获取QueryString的数组
function getQueryString(){
var result = location.search.match(new
RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));
for(var i = 0; i < result.length; i++){
result[i] = result[i].substring(1);
}
return result;
}
//根据QueryString参数名称获取值
function getQueryStringByName(name){
var result = location.search.match(new
RegExp("[\?\&]" + name+
"=([^\&]+)","i"));
if(result == null || result.length < 1){
return "";
}
return result[1];
}
//根据QueryString参数索引获取值
function getQueryStringByIndex(index){
if(index == null){
return "";
}
var queryStringList = getQueryString();
if (index >= queryStringList.length){
return "";
}
var result = queryStringList[index];
var startIndex = result.indexOf("=") + 1;
result = result.substring(startIndex);
return result;
}
//绑定当控件高亮选中时,点击“回车键”时执行的操作
//control:要绑定事件的控件
//func:要执行的方法
function bindEnterEvent(control, func){
control.onkeypress = function(){
if (event.keyCode == 13){
func();
}
}
}
//根据输入的QueryString名称获取值
function getByName(){
var name = document.getElementByIdx_x("txtQueryStringName").value;
document.getElementByIdx_x("txtResult").innerHTML =
getQueryStringByName(name);
}
//根据输入的QueryString的索引获取值
function getByIndex(){
var index =
document.getElementByIdx_x("txtQueryStringIndex").value;
document.getElementByIdx_x("txtResult").innerHTML =
getQueryStringByIndex(index);
}
QueryString :
id="queryString">
QueryString's name
:
name="txtQueryStringName" type="text" />
οnclick="getByName()" />
QueryString's index :
name="txtQueryStringIndex" type="text" />
οnclick="getByIndex()" />
结果
:
id="txtResult">
//显示所有QueryString
document.getElementByIdx_x("queryString").innerHTML =
getQueryString();
//为txtQueryStringName绑定回车事件
bindEnterEvent(txtQueryStringName, getByName);
//为txtQueryStringIndex绑定回车事件
bindEnterEvent(txtQueryStringIndex, getByIndex);
http://www.artcss.com/archives/897.html
aa.html
function submit()
{
var input1 = document.getElementByIdx_x("inputid");
window.open("bb.html?inputStr=" + input1.value);//传入参数
}
"inputid" value="hello">
value = "提交">
bb.html
//获得参数的方法
var request =
{
QueryString : function(val)
{
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)",
"ig");
if(uri.match(re))
{
return uri.match(re)[0].substr(val.length+1);
}
else
{
return
null;
}
}
}
//调用方法获得参数
var rt = request.QueryString("inputStr");
alert(rt);