从Javascript中的URL获取参数

从Javascript中的URL获取参数,javascript,url,Javascript,Url,我是新手。 我在index.html中创建了一个简单的表单,如下所示: <form name="parameters" METHOD="GET" ACTION="pag1.html"> login: <INPUT TYPE="text" NAME="login"> password: <INPUT TYPE="text" NAME="password"> <input type="submit" value="ok"> </form>

我是新手。 我在index.html中创建了一个简单的表单,如下所示:

<form name="parameters" METHOD="GET" ACTION="pag1.html">
login: <INPUT TYPE="text" NAME="login"> 
password: <INPUT TYPE="text" NAME="password"> 
<input type="submit" value="ok">
</form>
<head>
<script language="JavaScript">
function processUser()
  {
    var parameters = location.search.substring(1).split("&");

var temp = parameters[0].split("=");
l = unescape(temp[1]);
temp = parameters[1].split("=");
p = unescape(temp[1]);
document.getElementById("log").innerHTML = l;
document.getElementById("pass").innerHTML = p;
  }
</script>
</head>

登录:
密码:
在pag1.html上,我放置了javascript来拆分URL,如下所示:

<form name="parameters" METHOD="GET" ACTION="pag1.html">
login: <INPUT TYPE="text" NAME="login"> 
password: <INPUT TYPE="text" NAME="password"> 
<input type="submit" value="ok">
</form>
<head>
<script language="JavaScript">
function processUser()
  {
    var parameters = location.search.substring(1).split("&");

var temp = parameters[0].split("=");
l = unescape(temp[1]);
temp = parameters[1].split("=");
p = unescape(temp[1]);
document.getElementById("log").innerHTML = l;
document.getElementById("pass").innerHTML = p;
  }
</script>
</head>

函数processUser()
{
var参数=location.search.substring(1.split(“&”);
var temp=参数[0]。拆分(“”);
l=unescape(温度[1]);
temp=参数[1]。拆分(“=”);
p=unescape(温度[1]);
document.getElementById(“log”).innerHTML=l;
document.getElementById(“pass”).innerHTML=p;
}
和两个div来显示它们:

<div id="log">LOGIN:</div>
<div id="pass">PASSWORD:</div>
登录:
密码:

pag1.html上的URL类似于:“pag1.html?login=123&password=asd”

但我得到的只是:
登录:
密码:


我哪里出错了?

这只是因为您的代码是在DOM中的“记录并传递渲染”之前执行的。只需将您的函数放在结束标记之前,它就会起作用。

在加载整个HTML后,应该调用您的函数。为此,您需要将函数作为DOMContentLoaded事件的回调

document.addEventListener("DOMContentLoaded", function(){
    function processUser()
    {
         var parameters = location.search.substring(1).split("&");

         var temp = parameters[0].split("=");
         l = unescape(temp[1]);
         temp = parameters[1].split("=");
         p = unescape(temp[1]);
         document.getElementById("log").innerHTML = l;
         document.getElementById("pass").innerHTML = p;
    }

    processUser();
})

使用
作为密码,切勿通过GET发送表单。可能的副本可能是在呈现div之前JS正在运行。仍然没有获取它。请更准确一点好吗?尝试将脚本从元素移动到元素的末尾。不要忘记调用函数processUser();在你的剧本的结尾!非常感谢!谢谢!最后,非常感谢您的建议!