Как предотвратитьDefault () при использовании submit ()? - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь создать поле ввода, которое отправляется при нажатии клавиши ввода. Когда я пытаюсь использовать функцию submit (), я получаю сброс страницы по умолчанию. Я не знаю, как это отменить. Я пытался использовать прослушиватель событий для отправки и даже передачи анонимной функции в submit (), но ни один из них не работает.

addTask.oninput = () => {
    window.onkeydown = (key) => {
        if (key.keyCode === 13) {
            newTaskForm.submit()
            console.log(newTaskForm.addTask.value)
        }
    }
}

PS: если вы думаете, что это один из тех, что я уже пробовал, пожалуйста сказать так. мог просто испортить какой-то синтаксис.

Ответы [ 3 ]

0 голосов
/ 14 июля 2020

да, так что моя вина, я на самом деле не знаю, что случилось, но я попробовал ответить, прежде чем даже отправить вопрос, и он не сработал, вероятно, просто сделал какую-то глупую ошибку. извините, я зря потратил ваше время: D

0 голосов
/ 14 июля 2020

Функция отправки работает так и всегда будет делать это. Так что я не должен использовать его и спасти себя с помощью javascript.

0 голосов
/ 14 июля 2020

addTask.oninput = () => {
    window.onkeydown = (key) => {
        key.preventDefault();
        if (key.keyCode === 13) {
            newTaskForm.submit()
            console.log(newTaskForm.addTask.value)
        }
    }
}

ключ на самом деле является событием в вашем коде.

Если вы не хотите отправлять форму после .submit ()

тогда вы можете использовать:

newTaskForm.addEventListener('submit', (e) = > {
  e.preventDefault();
})
...