我正在尝试获取ULR参数,但我的代码没有运行,因为在调试时它显示了一个错误:Cannot read property 'split' of undefined
而且我不确定我做错了什么。
例如:default.html?pid=405
我需要在JavaScript变量中输入405
值。这是我正在使用的代码:
<script type="text/javascript">
function getUrlParameters(parameter, staticURL, decode) {
var currLocation = (staticURL.length) ? staticURL : window.location.search,
parArr = currLocation.split("?")[1].split("&"),
returnBool = true;
for (var i = 0; i < parArr.length; i++) {
parr = parArr[i].value.split("=");
if (parr[0] == parameter) {
return (decode) ? decodeURIComponent(parr[1]) : parr[1];
returnBool = true;
} else {
returnBool = false;
}
}
if (!returnBool) return false;
}
</script>
<script type="text/javascript">
function runDepo()
{
var idParameter = getUrlParameters("pid", "", true);
}
有人能帮助我吗?提前致谢。
答案 0 :(得分:2)
只需从.value
parr = parArr[i].value.split("=");
即可
function getUrlParameters(parameter, staticURL, decode) {
var currLocation = (staticURL.length) ? staticURL : window.location.search,
parArr = currLocation.split("?")[1].split("&"),
returnBool = true;
for (var i = 0; i < parArr.length; i++) {
parr = parArr[i].split("=");
if (parr[0] == parameter) {
return (decode) ? decodeURIComponent(parr[1]) : parr[1];
returnBool = true;
} else {
returnBool = false;
}
};
if (!returnBool) return false;
};
document.getElementById('Result').value = getUrlParameters("pid", "default.html?pid=405", true);
alert(getUrlParameters("pid", "default.html?pid=405", true));
&#13;
PID : <input type="text" id="Result" placeholder="Result">
&#13;