如何解决 javascript 中未捕获的类型错误:无法设置未定义的属性“值”?
2018-07-17
1187
这是我的脚本,用于从 URL 获取参数并将其存储在输入字段中。 我能够 console.log 参数,但无法将其存储在输入字段中 请帮忙。 我的 javascript 代码。
function getNavUrl() {
return window.location.search.replace("?", "");
};
function getParameters(url) {
var params = {};
url = url.toLowerCase();
url = url.split('&');
var length = url.length;
for(var i=0; i<length; i++) {
var prop = url[i].slice(0, url[i].search('='));
var value = url[i].slice(url[i].search('=')).replace('=', '');
params[prop] = value; }
return params;
};
var a =getParameters(getNavUrl());
var username=a.username;
var password=a.password;
alert(password);
document.getElementById('username').value = username;
我的输入字段。
<input id='username' name='user' placeholder='mqtt user' value='' ><br/>
<input id='userpassword' name='password' placeholder='mqtt password' value='' >
我收到的错误。
Uncaught TypeError: Cannot set property 'value' of null
at yolo.html?username=somename&password=123:31
3个回答
您需要添加文档加载事件:
document.addEventListener("DOMContentLoaded", function(event) {
var a =getParameters(getNavUrl());
var username=a.username;
var password=a.password;
alert(password);
document.getElementById('username').value = username;
});
RainDev
2018-07-17
尝试这个
document.getElementById('username').value = username;
getElementById 而不是 getElementsById
Oleg Yakovlev
2018-07-17
var username='username'
var password='passwo';
//alert(password);
document.getElementById('username').value = username;
<input id='username' name='user' placeholder='mqtt user' value='' ><br/>
<input id='userpassword' name='password' placeholder='mqtt password' value='' >
有
getElementById
但
getElementsById
(区别在于字符
s
)
2018-07-17