Способы отправки форм в JavaScript

Вы уже знаете, что форма отправляется по нажатию на кнопку. Здесь, однако, есть нюансы. Кнопка обязательно должна иметь атрибут type в значении submit:

<form> <input name="test1"> <input name="test2"> <input type="submit"> </form>

Форму также будет отправлять тег button с атрибутом type в значении submit:

<form> <input name="test1"> <input name="test2"> <button type="submit">btn</button> </form>

Форму также будет отправлена, если в любом из инпутов поставить фокус и нажать Enter.

Кнопки без отправки

Кнопка с атрибутом type в значении button используется как элемент страницы и отправлять форму не будет:

<form> <input name="test1"> <input name="test2"> <input type="button"> </form>

Аналогичным образом будет работать тег button:

<form> <input name="test1"> <input name="test2"> <button>btn</button> </form>

Кнопки сброса

Кнопка с атрибутом type в значении reset будет очищать заполненную форму:

<form> <input name="test1"> <input name="test2"> <input type="reset"> <input type="submit"> </form>

Отправка формы через JavaScript

Можно принудительно отправить форму через JavaScript. Давайте посмотрим, как это делается. Пусть у нас есть форма и некоторая кнопка, по клику на которую мы хотим отправлять форму:

<form action="/handler/" method="POST"> <input name="test1"> <input name="test2"> </form> <button>отправить</button>

Получим ссылки на наши элементы в переменные:

let form = document.querySelector('form'); let button = document.querySelector('button');

Повестим на кнопку обработчик клика:

button.addEventListener('click', function(event) { });

По клику на кнопку выполним отправку формы через метод submit:

button.addEventListener('click', function(event) { form.submit(); });

Дана форма с тремя инпутами. Сделайте ссылку, по клику на которую будет происходить отправка этой формы.