【发布时间】:2021-05-15 11:12:09
【问题描述】:
我正在创建一个可以添加和删除项目的列表。我设法添加了新项目,但是当我向删除按钮添加一个功能时,它会使提交表单失败。在我添加btn.addEventListener("click", runEvent) 之后form.addEventListener("submit", addItem); 停止工作
HTML:
<div class="container">
<div id="main" class="card card-body">
<h2 class="title">Add Items</h2>
<form id="addForm" class="form-inline mb-3">
<input type="text" class="form-control mr-2" id="item">
<input type="submit" class="btn btn-dark" value="Submit">
</form>
<h2 class="title">Items</h2>
<ul id="items" class="list-group">
<li class="list-group-item">Item 1 <button class="btn btn-danger btn-sm float-right delete">X</button></li>
<li class="list-group-item">Item 2 <button class="btn btn-danger btn-sm float-right delete">X</button></li>
<li class="list-group-item">Item 3 <button class="btn btn-danger btn-sm float-right delete">X</button></li>
<li class="list-group-item">Item 4 <button class="btn btn-danger btn-sm float-right delete">X</button></li>
</ul>
</div>
</div>
JS:
let form = document.getElementById("addForm")
let itemList = document.getElementById("items")
let btn = document.getElementsByClassName("btn btn-danger btn-sm float-right delete")
btn.addEventListener("click", runEvent)
function runEvent(event){
event.preventDefault()
console.log("hi")
}
// Form submit event
form.addEventListener("submit", addItem);
// Add item
function addItem(e){
e.preventDefault()
console.log(e)
// Get input value
let newItem = document.getElementById("item").value
// Create new li
let newLI = document.createElement("li")
// Add class
newLI.className = "list-group-item"
// Add text node with input
newLI.textContent = newItem
//Delete button
let button = document.createElement("button")
button.className = "btn btn-danger btn-sm float-right delete"
button.textContent = "X"
newLI.appendChild(button)
itemList.appendChild(newLI)
document.getElementById("item").value = ""
}
【问题讨论】:
标签: javascript html dom button events