[英]how to get value from url parameter using javascript or 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
获取值
#modal?userId=1
查询字符串(发送到服务器)必须位于片段标识符(完全由客户端处理)之前。
即
?userId=1#modal
如果您不想将数据发送到服务器,则需要读取片段标识符( location.hash
)并将其拆分到?
上?
得到你需要的东西。
使用jquery url解析器插件 :
$.url().param('userId');
编辑:如果您在字符串中有URL,则可以执行以下操作:
$.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'
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.