Кнопка HTML для НЕ представления формы

У меня есть форма. Вне той формы у меня есть кнопка. Простая кнопка, как это:

<button>My Button</button>

Тем не менее, когда я нажимаю его, это отправляет форму. Вот код:

<form id="myform">
    <input />
</form>
<button>My Button</button>

Вся эта кнопка должна сделать, некоторый JavaScript. Но даже когда это смотрит точно так же, как в коде выше, это отправляет форму. Когда я изменяю кнопку тега для охвата, она работает отлично. Но к сожалению, это должна быть кнопка. Там какой-либо путь состоит в том, чтобы заблокировать ту кнопку от представления формы? Как, например.

<button onclick="document.getElementById('myform').doNotSubmit();">My Button</button>
341
задан Vertexwahn 4 March 2016 в 06:39
поделиться

4 ответа

Я думаю, что это самая неприятная небольшая особенность HTML ... Эта кнопка должна иметь тип "button", чтобы ее нельзя было отправить.

<button type="button">My Button</button>

Обновление от 5 февраля 2019 г .: Согласно HTML Living Standard (а также спецификация HTML 5 ):

отсутствует значение по умолчанию и недопустимое значение по умолчанию - это состояние кнопки «Отправить» .

840
ответ дан 23 November 2019 в 00:35
поделиться

return false; в конце обработчика onclick выполнит задание. Однако лучше просто добавить type = "button" в

35
ответ дан 23 November 2019 в 00:35
поделиться

Не рекомендуется использовать тег

3
ответ дан 23 November 2019 в 00:35
поделиться

Дэйв Маркл прав. С веб-сайта W3School :

Всегда указывайте атрибут типа для кнопки .Типом по умолчанию для Internet Explorer является "кнопка", а для в других браузерах (и в спецификации W3C ) это "отправить".

Другими словами, используемый вами браузер соответствует спецификации W3C.

15
ответ дан 23 November 2019 в 00:35
поделиться
Другие вопросы по тегам:

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