我正在使用Electron创建一个简单的应用程序,允许您将任务添加到列表中。但是,它不应该允许您添加空任务。
以下脚本是我在Renderer 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();
}
我还为那些想要在代码中弄乱这个问题的人整理了一个JSFiddle:https://jsfiddle.net/bts22a34/这似乎也引发了一个问题,尽管它不在Electron之外。
每当它命中return函数时,它都会抛出以下错误:
“错误:没有这样的模块:atom_renderer_v8_util”
通过在“if”语句之前添加断点,它似乎成功完成返回,点击函数的结尾,然后抛出错误。
如果我发送一个非空字符串,它会成功跳过if语句并完成该函数而没有错误。
答案 0 :(得分:1)
刚刚再次讨论它,如果你通过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:https://jsfiddle.net/bts22a34/