javascript - 如何解决 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
解决方案
您需要添加文档加载事件:
document.addEventListener("DOMContentLoaded", function(event) {
var a =getParameters(getNavUrl());
var username=a.username;
var password=a.password;
alert(password);
document.getElementById('username').value = username;
});
推荐阅读
- r - x轴条形图R中的标签较少
- blockchain - 如何在没有众筹合同的情况下使用 openzipplin 4.x 创建众筹
- exiftool - 获得没有模糊时间的 Exiftool 持续时间
- c++ - OpenSSL AES_CBC-256 解密 C++ 中没有原始文本长度
- webpack - Webpack extract-loader 没有正确解析别名
- c# - 托管 RESTful API
- python - 我在 tkinter 中收到模块未找到错误
- firebase-authentication - 使用来自 Identity Platform 的 ID 令牌授权访问 Google Cloud Functions
- python-3.x - VS-Code 和 Python - 入门教程中的问题
- php - 将菜单标题从 h2 更改为 h3 (woocommerce / wordpress)