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
当我在表单字段中输入一些文本并单击按钮时,会显示错误。
预期的输出是能够将在表单字段中输入的文本添加为新的列表项。任何帮助或指示将不胜感激。
这是由于表单的默认行为是重新加载页面。在这种情况下,错误与 codepen 有关。您需要将事件 preventDefault 方法添加到您的 addNewTodo 函数中。对于大多数表单提交事件,您都需要这样做。
function addNewTodo(event) {
event.preventDefault()
// Rest of your add todo code here...
}
Run Code Online (Sandbox Code Playgroud)