如何使用javascript或jquery从url参数获取值

时间:2016-01-07 13:50:54

标签: javascript jquery

我在从url获取值时遇到问题,我有一个显示模式的链接 因为我有

<a href='#modal?userId=<%=resultSet.getInt("drid")%>' class="button-border toggleModal">Apportionment</a>

上面的链接打开了模式,如下所示

<div id="modal" class="modal">    
    <header>
      <h2>Appointment Form</h2>      
    </header>
    <form action="addappoinment.jsp" method="post">
        <input type="hidden" id="docId" name="docid" value=""><br>
        <input type="text" required><br>
        <input type="text" required><br>
        <input type="text" required><br>
        <input type="text" required><br>
        <textarea rows="4" cols="21"></textarea><br> 
        <button class="button-border button-success" type="submit">
     Done</button>

    <button class="button-border button-error pull-right toggleModal">
      Cancel</button>       
      </form>    
  </div>

现在我有一个像

这样的网址
http://localhost:8080/app/#modal?userId=1

现在我想使用javascript

获取userId参数的值
<script type="text/javascript">

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

var param = getParameterByName("userId");
var userId = document.getElementById("docId");
userId.value = param;


</script>

但无法从http://localhost:8080/app/#modal?userId=1

获取价值

3 个答案:

答案 0 :(得分:9)

.catergory-classes.portfolio-item:hover > .hover-item{
background-color:#000000;}

查询字符串(发送到服务器)必须在片段标识符之前(完全由客户端处理)。

#modal?userId=1

如果您不想将该数据发送到服务器,则需要读取片段标识符(?userId=1#modal )并将其拆分为location.hash以获得所需的片段。< / p>

答案 1 :(得分:0)

使用jquery url parser plugin

$.url().param('userId');

编辑:如果您有字符串中的网址,则可以执行以下操作:

$.url('http://localhost:8080/app/#modal?userId=1').param('userId'); // returns '1'

编辑2:这有效:

$.url($.url('http://localhost:8080/app/#modal?userId=1').fsegment(1)).param('userId')) //returns '1'

答案 2 :(得分:0)

function getUrlParams() {   
    var url = window.location
    var inputParam = 'DBName'//input parameter 
    var params = url.split('?');     
    var b = params[1].split('&');   
    for (i=0; i<b.length; i++){
    var c= b[i].split('=');
    if (c[0] == inputParam){
       alert(c[1]);//return the parameter value
       break;
}