提交时的JavaScript addEventListener不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提交时的JavaScript addEventListener不起作用相关的知识,希望对你有一定的参考价值。

这是一个新手问题,但是我的第一个javascript任务遇到了严重的问题。我决定学习JS,并从TODO列表开始学习,现在我一直处于起步阶段。

提交表单时应触发的事件侦听器不起作用。当我更改事件时,它会监听“单击”,“焦点”或“模糊”,但不能使用提交。谁能提供建议?

PS。有event.preventDefault();的简单说明吗?它有什么作用,什么时候应该使用?

感谢一百万。

我的html

<!DOCTYPE html>
<html lang="en">
<head>
    <title>TODO</title>

</head>
<body>
    <div id="headerDiv">
        <h1>My To Do List</h1>
        <form>
            <input aria-label="Add a new task:" type="text" id="newTaskInput" placeholder="Do the laundry, write a new chapter...">
            <input id="submitNewTaskButton" type="submit" value="+">
        </form>
    </div>
    <div id="tasks">
        <ul id="tasksList">
            <li>Do the laundry</li>
            <li>Walk the cat</li>
        </ul>
    </div>
</body>
<script type="text/javascript" src="script.js"></script>
</html>

我的JavaScript:

let newTaskInputForm = document.getElementById('newTaskInput');
let tasksList = document.getElementById("tasksList");
let submitNewTaskButton = document.getElementById("submitNewTaskButton");

function submitNewTask() {
    var newTask = newTaskInputForm.value;
    var newListItem = document.createElement("li");
    var newListTextNode = document.createTextNode(newTask);
    newListItem.appendChild(newListTextNode);
    tasksList.appendChild(newListItem);
}

newTaskInputForm.addEventListener('submit', function (event) {
    event.preventDefault();
    submitNewTask(event)
});
答案

[<input>元素不会引发submit事件-而是由<form>执行。

以上是关于提交时的JavaScript addEventListener不起作用的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript Rock Solid addEvent

JavaScript 的addEvent

JavaScript addEvent函数

提交时的 Javascript 表单

javascript 表格提交时的GA活动

Javascript检查提交时的文本限制