为什么我得到 Cannot read 属性 'addEventListener' of null javascript
why i am getting Cannot read property 'addEventListener' of null javascript
任何人都可以告诉我并解释为什么我在 chrome 的控制台上收到此错误“无法读取 属性 'addEventListener' of null” 我正在构建聊天应用程序在 NodeJS 上,但我收到此错误任何人都可以帮助我解决这个问题。
客户端ideJS代码。
Socket.on("message",(message)=>{
console.log(message)
})
document.querySelector("#message-form").addEventListener("submit",(e)=>{
e.preventDefault()
const message = e.target.elements.message
Socket.emit("sendMessage",message)
})
html代码
<html lang="en">
<head>
<title>Chatter</title>
<script src="/socket.io/socket.io.js"></script>
<script src="js/chat.js"></script>
</head>
<body>
<form id="message-form" >
<input name="message" placeholder="Message">
<button type="submit">Send</button>
</form>
</body>
</html>
如果有人需要服务器ide JS 请发表评论我将编辑问题
谢谢。
why i am getting Cannot read property 'addEventListener' of null javascript
因为当您的代码运行时,不存在 ID 为 message-form
的元素。浏览器还没有解析文档的那部分。
将您的脚本标签放在正文标签的末尾。
<body>
<form id="message-form">
<input name="message" placeholder="Message">
<button type="submit">Send</button>
</form>
<script>
document.querySelector("#message-form").addEventListener("submit", (e) => {
e.preventDefault()
const message = e.target.elements.message
console.log(message);
})
</script>
</body>
或者把你的js代码放在document ready callback.
里面
<head>
<script>
document.addEventListener('DOMContentLoaded', () => {
document.querySelector("#message-form").addEventListener("submit", (e) => {
e.preventDefault();
const message = e.target.elements.message;
console.log(message);
});
});
</script>
</head>
<body>
<form id="message-form">
<input name="message" placeholder="Message">
<button type="submit">Send</button>
</form>
</body>
任何人都可以告诉我并解释为什么我在 chrome 的控制台上收到此错误“无法读取 属性 'addEventListener' of null” 我正在构建聊天应用程序在 NodeJS 上,但我收到此错误任何人都可以帮助我解决这个问题。
客户端ideJS代码。
Socket.on("message",(message)=>{
console.log(message)
})
document.querySelector("#message-form").addEventListener("submit",(e)=>{
e.preventDefault()
const message = e.target.elements.message
Socket.emit("sendMessage",message)
})
html代码
<html lang="en">
<head>
<title>Chatter</title>
<script src="/socket.io/socket.io.js"></script>
<script src="js/chat.js"></script>
</head>
<body>
<form id="message-form" >
<input name="message" placeholder="Message">
<button type="submit">Send</button>
</form>
</body>
</html>
如果有人需要服务器ide JS 请发表评论我将编辑问题 谢谢。
why i am getting Cannot read property 'addEventListener' of null javascript
因为当您的代码运行时,不存在 ID 为 message-form
的元素。浏览器还没有解析文档的那部分。
将您的脚本标签放在正文标签的末尾。
<body>
<form id="message-form">
<input name="message" placeholder="Message">
<button type="submit">Send</button>
</form>
<script>
document.querySelector("#message-form").addEventListener("submit", (e) => {
e.preventDefault()
const message = e.target.elements.message
console.log(message);
})
</script>
</body>
或者把你的js代码放在document ready callback.
里面<head>
<script>
document.addEventListener('DOMContentLoaded', () => {
document.querySelector("#message-form").addEventListener("submit", (e) => {
e.preventDefault();
const message = e.target.elements.message;
console.log(message);
});
});
</script>
</head>
<body>
<form id="message-form">
<input name="message" placeholder="Message">
<button type="submit">Send</button>
</form>
</body>