Bouton HTML pour NE PAS soumettre un formulaire

J'ai un formulaire. En dehors de cette forme, j'ai un bouton. Un simple bouton, comme ceci:

<button>My Button</button> 

Néanmoins, lorsque je clique dessus, il soumet le formulaire. Voici le code:

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

Tout ce bouton devrait être un JavaScript. Mais même quand il ressemble exactement au code ci-dessus, il soumet le formulaire. Lorsque je change le bouton d'étiquette pour étendre, il fonctionne parfaitement. Mais malheureusement, il doit s'agir d'un bouton. Existe-t-il un moyen de bloquer ce bouton de soumettre le formulaire? Par exemple, par exemple

 <button onclick="document.getElementById('myform').doNotSubmit();">My Button</button> 

Je pense que c'est la particularité la plus ennuyeuse de HTML … Ce bouton doit être du type "bouton" pour ne pas le soumettre.

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

return false; À la fin du gestionnaire onclick fera le travail. Cependant, il est préférable d'ajouter simplement type="button" au <button> – de cette façon il se comporte correctement même sans aucun JavaScript.

Dave Markle a raison. Du site Web de W3School :

Spécifiez toujours l'attribut de type pour le bouton. Le type par défaut pour Internet Explorer est "bouton", tandis que dans d'autres navigateurs (et dans la spécification W3C), il est "soumettre".

En d'autres termes, le navigateur que vous utilisez est conforme aux spécifications du W3C.

Par défaut, les boutons html soumettent un formulaire.

Ceci est dû au fait que même les boutons situés en dehors d'une forme agissent comme auteurs (voir le site Web de W3Schools: http://www.w3schools.com/tags/att_button_form.asp )

En d'autres termes, le type de bouton est "soumettre" par défaut

 <button type="submit">Button Text</button> 

Par conséquent, un moyen simple de contourner cela est d'utiliser le type de bouton .

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

D'autres options incluent renvoyer un faux à la fin de l' onclick ou tout autre gestionnaire pour savoir quand le bouton est cliqué ou utiliser une balise <input> à la place

Pour en savoir plus, consultez les informations du Mozilla Developer Network sur les boutons: https://developer.mozilla.org/fr/docs/Web/HTML/Element/button

Il est recommandé de ne pas utiliser la <Button> . Utilisez la <Input type='Button' onclick='return false;'> place. (L'utilisation du "retour faux" devrait en effet ne pas envoyer le formulaire.)

Quelques documents de référence

Pour une raison d'accessibilité, je ne pouvais pas l'arrêter avec plusieurs type=submit boutons de type=submit . La seule façon de travailler nativement avec un form avec plusieurs boutons, mais SEULEMENT on peut soumettre le formulaire en appuyant sur la touche Enter pour s'assurer qu'un seul d'entre eux est de type=submit tandis que d'autres sont dans un autre type tel que type=button . De cette façon, vous pouvez bénéficier de la meilleure expérience de l'utilisateur pour traiter un formulaire sur un navigateur en termes de support de clavier.