文章类型: JAVASCRIPT
关键词: JS,JavaScript,JQurey,URL,获取参数名,获取参数值,空格处理
内容摘要: 主要介绍通过JS代码或者通过C#代码获取URL传递过来的参数的解析方法并给文本框标签传值,也可以通过JQuery函数或者正则表达式获取

js获取url参数值以及使用Jquery函数进行有空格处理

2015/7/7 17:39:10    来源:apple    阅读:

下面给大家介绍一下如何通过URL来取得传递过来的值作为给HTML的文本框的值。

如:index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&......

静态html文件js读取url参数 根据获取html的参数值控制html页面输出

一、字符串分割分析法。

  这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET

函数:

<Script language="javascript"> 
    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]] = unescape(strs[i].split("=")[1]); 
            } 
        } 
        return theRequest; 
    } 
</Script>

然后我们通过调用此函数获取对应参数值:

<Script language="javascript"> 
    var Request = new Object(); 
    Request = GetRequest(); 
    var 参数1, 参数2, 参数3, 参数N; 
    参数1 = Request['参数1']; 
    参数2 = Request['参数2']; 
    参数3 = Request['参数3']; 
    参数N = Request['参数N']; 
</Script>

 

以此获取url串中所带的同名参数。

举例说明如下:

获取链接地址:http://127.0.0.1/EditEmail.aspx?UserID=10010&OldEmail=abc@sohu.com的传递过来的用户ID和邮箱名称添加到HTML标签里面。

页面的HTML的代码如下:

<div class="item"> 
    <span class="label">用户ID:</span> 
    <input id="UserID" class="grid_12 textBox" maxlength="50" name="UserID" /> 
</div> 
  
<div class="item"> 
    <span class="label">邮箱:</span> 
    <input id="OldEmail" class="grid_12 textBox" maxlength="50" name="OldEmail" /> 
</div>

 

<script type="text/javascript" language="javascript"> 
    function loadUserIDAndEmail() {//通过URL的参数获取传过来的值 
        var url = document.URL; 
        var para = ""; 
        if (url.lastIndexOf("?") > 0) { 
            para = url.substring(url.lastIndexOf("?") + 1, url.length); 
            var arr = para.split("&"); 
            document.getElementById("UserID").value = arr[0].split("=")[1]; 
            document.getElementById("OldEmail").value = arr[1].split("=")[1]; 
            /* 
            para = ""; 
            for (var i = 0; i < arr.length; i++) { 
                para += "第" + (i + 1) + "个参数>>名:" + arr[i].split("=")[0]; 
                para += " 值:" + arr[i].split("=")[1] + "<br>"; 
            } 
            document.write(para); 
            */
        } 
    } 
  
    window.load = loadUserIDAndEmail(); 
</script>

 

还有另外一种做法,HTML页面通过C#语言获取服务器解析出传送来的参数值,即HMTL页面调用C#的函数方案。代码如下:

<div class="item"> 
    <span class="label">会员ID:</span> 
    <input id="UserID" class="grid_12 textBox" maxlength="50" name="UserID" value="<%= userID %>"  /> 
    <span id="UserID_validationMessage"></span> 
</div> 
  
<div class="item"> 
    <span class="label">原邮箱:</span> 
    <input id="OldEmail" class="grid_12 textBox" maxlength="50" name="OldEmail" value="<%= email %>"  /> 
    <span id="OldEmail_validationMessage"></span> 
</div>

C#的代码如下:

public partial class client_UpdateEmail : System.Web.UI.Page 
{ 
    /* 以下的作法也可以实现,在页面获取C#服务器端的值*/
    public string userID = string.Empty; 
    public string email = string.Empty; 
      
    protected void Page_Load(object sender, EventArgs e) 
    { 
        if (!IsPostBack) 
        { 
            if ((null != Request.QueryString["userID"]) || (null != Request.QueryString["email"])) 
            { 
                userID = Request.QueryString["userID"].ToString().Trim(); 
                email = Request.QueryString["email"].ToString().Trim(); 
            } 
        } 
    } 
}

 

 

二、正则分析法。

JS函数如下:

function GetQueryString(name) { 
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
    var r = window.location.search.substr(1).match(reg); 
    if (r != null) { 
        return unescape(r[2]); 
    } else { 
        return null; 
    }  
} 
  
alert(GetQueryString("参数名1")); 
alert(GetQueryString("参数名2")); 
alert(GetQueryString("参数名3"));

 

三 获取URl

      

<script type="text/javascript"> 
    var thisURL = document.URL; 
    thisURL = thisURL.toLowerCase(); 
    if (thisURL.indexOf("a21b08") >= 0) { 
        var a = $(".tabbutton&.right"); 
        a.hide(); 
    } 
    if (thisURL.indexOf("a21b04") >= 0) { 
        var b = $("div[class='tabbutton right']"); 
        b.hide(); 
    } 
</script>

 

好了,今天就介绍到这里。

↑ 上一篇文章:如何发布网站之允许更新此预编译站点并且使用固定命名和单页程序集 关键词:.net,C#,网站发布,预编译站点,使用固定命名和单页.. 发布日期:2015/7/7 17:37:39
↓ 下一篇文章:ASP.NET无法弹出JS对话框及弹出JS对话框时进行页面的重定向 关键词:asp.net,C#,无法弹出JS对话框,JS弹出对话框.. 发布日期:2015/7/7 17:40:12
相关文章:
JavaScript取得当前url地址的文件名 关键词:JavaScript,js,取得,当前,url,地址,文件名 发布日期:2016-04-28 22:30
JS与C#的函数以及变量互调 关键词:JS,javascript,C#,函数,变量,互调,调用 发布日期:2015-07-29 14:08
JavaScript 和 .NET 中的 JSON 关键词:js,JavaScript,.net,C#,json 发布日期:2015-07-14 17:26
相关目录:.NETJAVASCRIPTJAVA
我要评论
正在加载评论信息......