Существует две проблемы с кодом OP.
- Функция
getForm
не будет выполнена, поскольку onsubmit
подключен к элементу input
вместо элемента form
. HTMLInputElement
не генерирует submit
событий. - Действие формы по умолчанию - отправка формы на сервер, поэтому, даже если функция
getForm
настроена правильно, она будет выполняться быстро и тогда страница обновится sh. Вероятно, вы хотите предотвратить это действие по умолчанию.
Вообще говоря, рекомендуется подключать прослушиватели событий в коде JavaScript. Вот фрагмент кода, демонстрирующий рабочий код, схожий с тем, что пытается использовать OP.
'use strict';
const taskFrm = document.getElementById('taskFrm');
const taskTxt = document.getElementById('taskTxt');
taskFrm.addEventListener('submit', e => {
e.preventDefault();
console.log(taskTxt.value);
});
<form id="taskFrm">
<input id="taskTxt" placeholder="What's on the agenda?">
</form>
Ради полноты, если вы хотите подключить функцию onsubmit
в HTML, вот как:
function getForm(e) {
var form = document.getElementById("task").value;
console.log(form);
e.preventDefault(); // Or return false.
}
<form id="form" target="_self" onsubmit="getForm(event)">
<input type="text" id="task" placeholder="What's on the agenda?">
</form>