尝试分配事件处理程序时的错误路径 /boomboom/v2/index.html 错误消息

Raq*_*sio 6 javascript codepen

我正在 Codepen 上用 Javascript 编写一个事件处理程序,它将采用表单输入并将其添加到无序列表中。尝试测试时,我收到“错误路径 /boomboom/v2/index.html”错误消息。我不确定这个错误是我的代码造成的还是 Codepen 的问题。谁能指出我如何解决这个问题?

我不知道该尝试什么,因为我不知道这个错误意味着什么。

这是 HTML:

<div class="card">
<div class="card-body">
    <h3 class="card-title">Today's To Do List</h3>
    <form id="todo-form">Week 5: To Do List
        <div class="form-group">
            <input type="text" class="form-control" id="todo-Week 5: To Do Listinput" placeholder="What else do you need to do?">
        </div>
        <div class="form-group">
            <input type="submit" id="todo-btn" class="btn btn-secondary btn-block" value="Add Item To List">
        </div>
    </form>
</div>
<ul class="list-group list-group-flush" id="todo-ul">
    <li class="list-group-item">Pick up groceries
            <i class="fas fa-trash-alt"></i>
    </li>
    <li class="list-group-item">Finish essay
        <i class="fas fa-trash-alt"></i>
    </li>
    <li class="list-group-item">Soccer @ 5:00

        <i class="fas fa-trash-alt"></i>
</ul>
Run Code Online (Sandbox Code Playgroud)

这是CSS:

        body
    {
        background-color: #34495e;
        font-family: 'Lato', sans-serif;
    }

    button {
        margin: 0 auto;
        float: right;
    }

    .centered {
        margin: 0 auto;
        width: 80%
    }

    .card {
        margin: 50px auto;
        width: 18rem;
    }
    i{
        float:right;
        padding-top:5px
    }
Run Code Online (Sandbox Code Playgroud)

这是Javascript:

    (function(){
  //add event handler to form button
  formButton = document.querySelector("#todo-btn");
  formButton.onclick = addNewTodo;

  function addNewTodo() {

  //get value of form field
  newTask = document.getElementById("todo-Week 5: To Do Listinput").value;
  //console.log(newTask);
  //create new ul list item element
  const newItem = document.createElement('li');
  const newItemContent = document.createTextNode(newTask);

  //add new li element item to ul
  newItem.appendChild(newItemContent);
  document.getElementById("todo-ul").appendChild(newItem);
  }


})();
Run Code Online (Sandbox Code Playgroud)

代码也可以在我的笔上查看https://codepen.io/raquelocasio/pen/XwwKLZ

当我在表单字段中输入一些文本并单击按钮时,会显示错误。

预期的输出是能够将在表单字段中输入的文本添加为​​新的列表项。任何帮助或指示将不胜感激。

edi*_*les 6

这是由于表单的默认行为是重新加载页面。在这种情况下,错误与 codepen 有关。您需要将事件 preventDefault 方法添加到您的 addNewTodo 函数中。对于大多数表单提交事件,您都需要这样做。

function addNewTodo(event) {
  event.preventDefault()
  // Rest of your add todo code here...
}
Run Code Online (Sandbox Code Playgroud)


小智 5

当我<form>在 Codepen 中使用标签时,我看到了类似的问题。我将<form>标签切换为标签,<div>错误消失了。

你能试试这个吗?