【发布时间】:2020-08-14 18:36:15
【问题描述】:
这里有一些代码。当我按下回车键时,我正在尝试使用 JavaScript 获取 input.value。 如果我删除第一个按钮而不是它正在工作,但是如果我像这样离开代码,或者如果我将第一个按钮放在输入标记之前 - 它不起作用。
const todoInput = document.querySelector(".todo-input");
const submit = document.querySelector(".addBtn");
submit.addEventListener("click", () => {
console.log(todoInput.value);
})
<div class="todo-input-container">
<form class="input-form">
<input
type="text"
class="todo-input"
placeholder="Add task..." />
<button class="btn flagBtn inputFlagBtn">
<span>
<i class="far fa-flag"></i>
</span>
</button>
<button class="btn addBtn" type="submit">
<span>
<i class="fas fa-plus-circle"></i>
</span>
</button>
</form>
</div>
为什么只有当我从 html 中删除第一个按钮时按“Enter”键才能得到 todoInput.value? 我需要做哪些调整才能使其同时与两个按钮一起使用?
【问题讨论】:
-
只有一个提交按钮时,表单才会自动提交。当有多个提交按钮时,您必须明确单击其中一个。
-
你可以把 eventListener 放在 btn 类上
-
我需要它在任何一种情况下都能正常工作。所以当我点击“addButton”类时我需要它工作,但当我按下回车键时我也需要它工作。
-
我的 type="submit" 只有一个按钮。
-
默认类型是提交,所以其他按钮也是提交按钮。使用
type="button"覆盖默认值。
标签: javascript html button input