首页 > 解决方案 > 如何解决 Uncaught TypeError: Cannot set property 'value' of undefined error in javascript?

问题描述

这是我从 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

标签: javascript

解决方案


您需要添加文档加载事件:

  document.addEventListener("DOMContentLoaded", function(event) {
     var a =getParameters(getNavUrl());
     var username=a.username;
     var password=a.password;
     alert(password);
     document.getElementById('username').value = username;
 });

推荐阅读