CS50 Uncaught TypeError:无法将属性“禁用”设置为 null [重复]
Posted
技术标签:
【中文标题】CS50 Uncaught TypeError:无法将属性“禁用”设置为 null [重复]【英文标题】:CS50 Uncaught TypeError: Cannot set property 'disabled' of null [duplicate] 【发布时间】:2021-10-15 02:33:28 【问题描述】:我正在参加 CS50 网络编程课程。
我尝试以相同的方式进行操作,但是它不起作用。
我想知道代码有什么问题。
为什么我添加“DOMContentLoaded”后它不起作用?
<!DOCTYPE html>
<html>
<head>
<script>
document.addEventListener("DOMContentLoaded", function()
document.querySelector('#submit').disabled = true;
document.querySelector('#task').onkeyup = () =>
//task's input has keyup which represents "not null"
document.querySelector('#submit').disabled = false;
;
document.querySelector('#new-task').onsubmit = () =>
//creates new item for list
const li = document.createElement('li');
li.innerHTML = document.querySelector('#task').value;
//Add new item to task list
document.querySelector('#tasks').append(li);
//Clear input li
document.querySelector('#task').value = '';
document.querySelector('#submit').disabled = true;
return false;
;
);
</script>
<title>List tasks</title>
</head>
<body>
<h1>Task</h1>
<ul id="tasks"></ul>
<form id="new-task">
<input id="task" autocomplete="off" autofocus placeholder="New Task" type="text">
<input type="submit">
</form>
</body>
</html>
【问题讨论】:
【参考方案1】:提交输入缺少您尝试查询的"submit"
中的id
。它返回 null/undefined,这就是为什么尝试设置 disabled
值时出错的原因。在提交输入中添加id
:
<body>
<h1>Task</h1>
<ul id="tasks"></ul>
<form id="new-task">
<input id="task" autocomplete="off" autofocus placeholder="New Task" type="text">
<input id="submit" type="submit">
</form>
</body>
【讨论】:
以上是关于CS50 Uncaught TypeError:无法将属性“禁用”设置为 null [重复]的主要内容,如果未能解决你的问题,请参考以下文章
为啥我有这个 Uncaught TypeError: (0 , _normalizr.arrayOf) is not a function?
Bazel + Angular + SocketIO V3 原因:Uncaught TypeError: XMLHttpRequest is not a constructor
Uncaught TypeError: jQuery(...).each is not a function after update wordpress theme
Angular:错误:未捕获(承诺):TypeError:Object(...)不是函数
Uncaught TypeError: Bootstrap dropdown require Popper.js (https://popper.js.org)(下拉菜单)
Uncaught TypeError: (0 , _reactRouter.withRouter) 在 react-router 2.4.0 中以编程方式导航路由时不是一个函数