Salut, j'essaye d'obtenir "une" balise comme bouton d'envoi. J'ai trouvé un code quelque part sur le Web. Mais ça n'a pas marché.
<a href="#" onclick="this.form.submit()">Submit</a>
Existe-t-il un code pour répondre à mes besoins?
Donnez à form
un id
, puis:
document.getElementById("yourFormId").submit();
La meilleure pratique serait probablement de donner à votre lien un id
aussi, et de vous débarrasser du gestionnaire d'événements:
document.getElementById("yourLinkId").onclick = function() {
document.getElementById("yourFormId").submit();
}
Essayez ce code:
<form id="myform">
<!-- form elements -->
<a href="#" onclick="document.getElementById('myform').submit()">Submit</a>
</form>
Mais les utilisateurs avec JavaScript désactivé ne pourront pas envoyer le formulaire, vous pouvez donc ajouter le code suivant:
<noscript>
<input type="submit" value="Submit form!" />
</noscript>
Supposons que le formulaire soit le parent direct que vous pouvez faire:
<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a>
Sinon, vous pouvez accéder via l'attribut de nom de formulaire comme ceci:
<a href='#' onclick='document.forms["myform"].submit(); return false;'>submit</a>
Voir les deux exemples ici: http://jsfiddle.net/WEZDC/1/
Essayez quelque chose comme ci-dessous
<a href="#" onclick="this.forms['formName'].submit()">Submit</a>
Ceci est une amélioration de @ComFreek ans:
<form id="myform">
<!-- form elements -->
<a href="javascript:;" onclick="document.getElementById('myform').submit()">Submit</a>
</form>
Donc, cela ne déclenchera pas d'action et rechargera votre page. Surtout si vous développez avec un framework avec SPA.