实现新增与完成
新增流程
监听表单 submit,调用 preventDefault 避免整页刷新。对标题执行 trim,拒绝空字符串与超长输入。为任务生成唯一 id,加入数组,清空输入并将焦点放回输入框。
保持输入安全
用户输入永远不是 HTML。用 createElement 创建节点,再用 textContent 放入标题。尝试输入 <img src=x onerror=alert(1)>,页面应将它当普通文字显示,而不是执行代码。
完成状态
用 checkbox 表示完成状态。监听 change,按任务 id 找到对应记录并更新 done,再保存和渲染。统计区域显示已完成数量和总数,空列表时展示下一步提示。
本课练习
连续添加三个任务,完成其中一个,再取消完成。核对统计数字。在只使用 Tab、空格和 Enter 的情况下完成这些操作。
可选:允许记录匿名体验步骤,帮助改进教程。不会上传练习内容。