我正在为我和我的朋友做一个简单的编码器/解码器,以便用代码相互交谈,或者至少它应该很简单。当我尝试引用我的任何元素时,我一直收到错误消息"Unable to get property 'value‘of undefined or null reference“。我觉得我正在做一件非常愚蠢的事情,而且很容易修复,但我看不到它。
我已经研究了几个相关的问题,并尝试了一堆建议的东西,但似乎都不起作用。顺便说一下,我正在使用Microsoft Edge,如果这有什么不同的话。
var inMsg = document.getElementById("input")
var outMsg = document.getElementById("output")
document.addEventListener('keypress', (event) => {
if (event.key == 'Enter') {
try {
event.preventDefault()
} catch (e) {
console.log(e)
}
try {
console.log(inMsg.value)
} catch (e) {
console.log(e)
}
}
})
<html>
<head>
<script src="./main.js" type="text/javascript"></script>
<style>
</style>
</head>
<body>
<div>
<h2>Paste Coded Message Here -></h2>
<textarea id="input" value=""></textarea>
<textarea id="output"></textarea>
</div>
</body>
</html>
通常我可以只记录值,没有问题,但当我对其执行console.log时,它会显示元素为null。
发布于 2019-05-11 20:12:40
尝试将defer
添加到脚本标记中,如下所示:
<script src="./main.js" type="text/javascript" defer></script>
我相信在脚本执行的时候html解析器还没有到达你的inMsg
元素,所以这个元素的值是undefined
。
如果有效,请让我知道!
发布于 2019-05-11 20:15:21
将前两行移动到add event listener函数中。在dom就绪并且isMag变量填入null之前,可能会调用此函数。
https://stackoverflow.com/questions/56093835
复制相似问题