Задать вопрос
@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/
  • Вопрос задан
  • 473 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 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/ срабатывают все кнопки.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы