What's standard behavior when <button> element is clicked? Will it submit the form?

JavascriptHtmlDom

Javascript Problem Overview


What is the standard behavior for when a <button> element is clicked in a form? Will it submit the form?

Question is about tag/element <button>, not <input type=button>.

Javascript Solutions


Solution 1 - Javascript

If the button is within a form, the default behavior is submit.

If the button is not within a form, it will do nothing.

BUT BE AWARE!

> Always specify the type attribute for > the button. The default type for > Internet Explorer is "button", while > in other browsers (and in the W3C > specification) it is "submit".

Taken from http://www.w3schools.com/tags/tag_button.asp

Solution 2 - Javascript

Yes it default to the submit type.

> type = submit|button|reset [CI]
> This attribute declares the type of the button. Possible values:
> > submit: Creates a submit button. This is the default value.

See: http://www.w3.org/TR/html401/interact/forms.html#h-17.5

So when the button is inside a form it will submit it, when it's not inside a form, it still defaults to submit but does nothing (since there's no form associated with it).

As raRaRa has pointed out below older versions of IE have the button tag default type set to button: http://www.thefutureoftheweb.com/blog/button-wont-submit-in-ie

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionlovespringView Question on Stackoverflow
Solution 1 - JavascriptJón Trausti ArasonView Answer on Stackoverflow
Solution 2 - JavascriptIvo WetzelView Answer on Stackoverflow