Javascript 使用“;返回”;关于提交事件函数调用

Javascript 使用“;返回”;关于提交事件函数调用,javascript,Javascript,我正在用Electron创建一个简单的应用程序,它允许您将任务添加到列表中。但是,它不应该允许您添加空任务 下面的脚本是我在渲染器JS文件中使用的内容的最低可验证版本 const taskForm = document.querySelector('form'); taskForm.addEventListener('submit', addTask); function addTask(event) { const formInput = taskForm.querySelector('

我正在用Electron创建一个简单的应用程序,它允许您将任务添加到列表中。但是,它不应该允许您添加空任务

下面的脚本是我在渲染器JS文件中使用的内容的最低可验证版本

const taskForm = document.querySelector('form');
taskForm.addEventListener('submit', addTask);

function addTask(event)
{
  const formInput = taskForm.querySelector('input[type="text"]');
  const taskName = formInput.value;
  formInput.value = "";

  if (!taskName || taskName.length === 0)
  {
    console.log("Empty"); 
    return; //It doesn't seem to like this return. No idea why.
  }

 //Task element is created and added

  event.preventDefault();
}
我还为那些想在代码中处理这个问题的人准备了一个JSFIDLE:它似乎也在这里抛出了一个问题,尽管它在Electron之外

每当它点击返回函数时,就会抛出以下错误:

“错误:没有这样的模块:atom\u renderer\u v8\u util”

通过在“if”语句之前添加断点,它似乎成功地完成了返回,到达了函数的末尾,然后抛出了错误


如果我发送一个非空字符串,它将成功跳过If语句,并且无错误地完成函数。

由于刚才再次处理它,因此如果执行If语句,则似乎存在“event.preventDefault”未运行的问题

const taskList = document.querySelector('div');
const taskForm = document.querySelector('form');
taskForm.addEventListener('submit', addTask);

id = -1;

function addTask(event)
{
  const formInput = taskForm.querySelector('input[type="text"]');
  const taskName = formInput.value;
  formInput.value = "";

  if (!taskName || taskName.length === 0)
  {
    console.log("Empty"); 
  }

  else
  {
    //Task element is created and added
  }

  event.preventDefault();
}

JSFiddle:

这不是问题的答案。如果您还有其他问题,您应该发布一个新问题,或者更新您原来的问题。@Jamiec但它修复了我原来的错误,即“return”抛出了一个错误。看起来这可能是因为“event.preventDefault”没有运行。哦,好的。所以这既是问题也是答案。那很好。但是,如果有人能解释为什么下面的代码片段在回答中起作用,那么这句话听起来像是你在问另一个问题,并且让你觉得这个地方的工作方式与你可能习惯的其他“技术论坛”类似。它不是那样运行的。:)我删掉了你问另一个问题的部分。如果你想问这个问题,请随时发布另一个问题。附言:欢迎光临,你看起来很漂亮new@Jamiec我现在明白你的意思了,谢谢你澄清。:)