提交按钮无法点击求助:输入内容后仍呈灰色禁用状态
问题解决:提交按钮始终禁用的修复方案
核心问题是拼写错误:你把输入框的键盘事件绑定属性onkeyup写成了onekeyup,导致输入事件完全没触发,按钮一直处于禁用状态。
修正后的JavaScript代码:
document.addEventListener("DOMContentLoaded", () => { const submitBtn = document.querySelector("#submit"); const taskInput = document.querySelector("#task"); const tasksList = document.querySelector("#tasks"); const form = document.querySelector("form"); submitBtn.disabled = true; // 修正拼写错误:onekeyup → onkeyup taskInput.onkeyup = () => { submitBtn.disabled = taskInput.value.length === 0; }; form.onsubmit = () => { const li = document.createElement("li"); li.textContent = taskInput.value; // 用textContent更安全,避免XSS风险 tasksList.append(li); taskInput.value = ""; submitBtn.disabled = true; return false; }; });
额外优化建议:
- 缓存DOM元素,避免每次操作都重复调用
document.querySelector,提升性能 - 用
textContent代替innerHTML插入任务内容,防止用户输入恶意HTML代码(XSS风险) - 可以把
onkeyup换成oninput,这样能覆盖更多输入场景(比如鼠标粘贴内容、输入法选词等),兼容性更好
内容的提问来源于stack exchange,提问作者starzeta
相关产品推荐
相关产品推荐

