Détails
Puis-je faire en sorte qu'un bouton ne soumette pas un formulaire ?
J'ai un formulaire, avec 2 boutons
<a href="index.html"><button>Cancel changes</button></a>
<button type="submit">Submit</button>
J'utilise le bouton de jQuery UI sur eux aussi, simplement comme ceci
$('button').button();
Cependant, le premier bouton soumet également le formulaire. J'aurais pensé que s'il n'avait pas le type="submit"
, il ne le ferait pas.
Je pourrais évidemment faire ceci
$('button[type!=submit]').click(function(event) { event.stopPropagation(); });
Mais existe-t-il un moyen d'empêcher ce bouton retour de soumettre le formulaire sans intervention de JavaScript ?
Pour être honnête, j'ai utilisé un bouton uniquement pour pouvoir le styliser avec jQuery UI. J'ai essayé d'appeler button()
sur le lien et cela n'a pas fonctionné comme prévu (c'était plutôt laid !).
471
3
La valeur par défaut de l'attribut [
type
des élémentsbutton
][1] est "submit" ;. Donnez-lui la valeurtype="button"
pour produire un bouton qui ne soumet pas le formulaire.Selon les termes de la [norme HTML][1] : "ne fait rien." ;
[1] : https://html.spec.whatwg.org/multipage/form-elements.html#attr-button-type
L'élément
button
a un type par défaut desubmit
.Vous pouvez faire en sorte qu'il ne fasse rien en lui attribuant le type
button
:Utilisez simplement le bon vieux HTML:
Enveloppez-le comme sujet d'un lien, si vous le souhaitez:
Ou si vous décidez que vous voulez que le javascript fournisse une autre fonctionnalité: