@Stepanya

Почему срабатывает onclick у кнопки?

Почему выполняется onclick у кнопки при нажатии на энтер в инпуте?
<form onsubmit="alert('form-submit')">
    <input>
    <button onclick="alert('button')">button</button>
</form>


https://fiddle.jshell.net/oeq9tg4j/1/

Причем срабатывает только первая кнопка в форме и абсолютно не важно где находится инпут в форме.
<form onsubmit="alert('form-submit')">
    <button onclick="alert('button1')">button</button>
    <button onclick="alert('button2')">button</button>
    <button onclick="alert('button3')">button</button>
    <input>
</form>

https://fiddle.jshell.net/oeq9tg4j/2/
  • Вопрос задан
  • 459 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега HTML
frontend developer
У кнопки атрибут type по умолчанию равен значению submit. И эта кнопка является кнопкой по умолчанию. Т.е. она нажимается энтером.
Срабатывает всегда первый сабмит.
Если вам нужны кнопки, не отправляющие форму - поставьте им атрибут type="button".

https://fiddle.jshell.net/oeq9tg4j/3/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Стандартная функция, которая дёргает onsubmit у формы это onclick.

На примере https://fiddle.jshell.net/oeq9tg4j/2/ срабатывают все кнопки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы