Javascript 当输入框为空时,我希望在单击或按键(enter键)时发出警报

Javascript 当输入框为空时,我希望在单击或按键(enter键)时发出警报,javascript,Javascript,当输入框为空时,我使用下面的javascript发出警报。但当我按任意键编写单词时,它会发出警报。当字段为空时,如果只有用户按enter键,我需要发出警报。有人能告诉我是否有任何解决方案吗 练习 购物清单 今天就完成 进来 笔记本电脑 你好 斯帕尼奇 丰富的 可怜的 相等的 var按钮=document.getElementById(“输入”); var input=document.getElementById(“userinput”); var ul=文件查询选择器(“ul”);

当输入框为空时,我使用下面的javascript发出警报。但当我按任意键编写单词时,它会发出警报。当字段为空时,如果只有用户按enter键,我需要发出警报。有人能告诉我是否有任何解决方案吗


练习
购物清单

今天就完成

进来
    笔记本电脑
  • 你好
  • 斯帕尼奇
  • 丰富的
  • 可怜的
  • 相等的
var按钮=document.getElementById(“输入”); var input=document.getElementById(“userinput”); var ul=文件查询选择器(“ul”); 函数inputLength(){ 返回input.value.length; } 函数alertEmpty(){ 如果(inputLength()==0){ 提醒(“请先输入您的项目”); } } 函数createListElement(){ var li=document.createElement(“li”); appendChild(document.createTextNode(input.value)); ul.儿童(li); input.value=“”; } 函数addListAfterClick(){ 如果(inputLength()>0){ createListElement(); }else(alertEmpty()); } 函数addListAfterKeypress(){ if(inputLength()>0&&event.keyCode==13){ createListElement(); }else(alertEmpty()); } 按钮。addEventListener(“单击”,addListAfterClick); input.addEventListener(“按键”,addListAfterKeypress);
这只是addListAfterKeyPress()中的一个逻辑问题。您正在检查长度是否大于0,以及是否同时按下了enter键。您需要先检查enter键,然后执行其他检查:

function addListAfterKeypress() {
    if (event.keyCode === 13) {
        if (inputLength() > 0) {
            creatListElement();
        } else {
            alertEmpty() 
        }
    }
}

这样,仅当按下enter键且inputLength为0时,警报才会显示。修改alertEmpty函数如下

function alertEmpty() {
   if( event.keyCode == 13 ){
      if (inputLength() === 0) {
         alert("Please Enter Your Item First");
      }
   }
}
function alertEmpty() {
   if( event.keyCode == 13 ){
      if (inputLength() === 0) {
         alert("Please Enter Your Item First");
      }
   }
}