javascript - 不添加任何价值 li 自动创建
问题描述
我正在尝试创建一个普通的用户界面,因为我正在添加一些任务,在那些我设置 taskInput 没有任何值作为警报('请添加任务'); 但即使没有在 taskInput 中添加任何值,它也会在 Dom 中显示为列表项。
下面是我的简单表单,即使我们在 taskInput 中没有任何内容,它也会提醒添加任务,但它再次执行了一个空列表项。
const form = document.querySelector('#task-form');
const filter = document.querySelector('#filter');
const taskList = document.querySelector('.collection');
const taskInput = document.querySelector('#task');
const clearBtn = document.querySelector('.clear-tasks');
function loadEventListeners(){
form.addEventListener('submit', addTask);
taskList.addEventListener('click', removeTask);
clearBtn.addEventListener('click',clearTasks);
filter.addEventListener('keyup', filterLi)
}
function addTask(e){
if(taskInput.value ===''){
alert('Please Add Task');
}
const li = document.createElement('li');
li.className = 'collection-item';
li.appendChild(document.createTextNode(taskInput.value));
const link = document.createElement('a');
link.className = 'delete-item secondary-content';
link.innerHTML = '<i class="fa fa-remove"></i>'
li.appendChild(link);
taskList.appendChild(li);
taskInput.value="";
e.preventDefault();
}
解决方案
如果您不想在值为空的情况下创建列表项,则应在警报之后返回:
if(taskInput.value ===''){
alert('Please Add Task');
return;
}
否则,它会发出警报,然后继续创建一个空列表项。
推荐阅读
- powerbi - Power BI Dax 量价量组合效应计算方法
- javascript - 三星S21在轨道停止期间冻结问题
- ios - 这是否可以在 iOS 中集成没有 SDK 的 Paytm 集成?
- json - 应用程序脚本 - 从电子表格中导出 JSON 文件并替换旧文件
- npm - 安装 npm install --global expo-cli 时出错
- c++ - 如何获取 Visual Studio 2015 Update 3 的编译器版本 19.0.24234?
- mysql - MySQL 替代 PostgreSQL 的自定义数据类型(和域)
- python - 当输入时我只有一个 ID 为 512 维向量的 json 文件时,如何处理三元组丢失?
- java - 将 javax.json.JsonObject 转换为 jakarta.json.JsonObject 的任何直接方法?
- highcharts - 高图表如果从数据库获取配置并包含函数,如何处理配置?