Certainement, il n'y a pas de solution avec HTML pur pour soumettre un formulaire avec une étiquette lien (a
). Le HTML standard n'accepte que des boutons ou des images. Comme l'ont dit d'autres collaborateurs, on peut simuler l'apparition d'un lien en utilisant un bouton, mais je suppose que ce n'est pas le but de la question.
À mon humble avis, je crois que la solution proposée et acceptée ne fonctionne pas.
Je l'ai testé sur un formulaire et le navigateur n'a pas trouvé la référence au formulaire.
Il est donc possible de le résoudre en utilisant une seule ligne de JavaScript, en utilisant l'objet this
, qui référence l'élément sur lequel on clique, qui est un noeud enfant du formulaire, qui doit être soumis. Donc this.parentNode
est le nœud de formulaire. Après il appelle simplement la méthode submit()
sous cette forme. Ce n'est pas une recherche nécessaire de l'ensemble du document pour trouver le bon formulaire.
<form action="http://www.greatsolutions.com.br/indexint.htm"
method="get">
<h3> Enter your name</h3>
First Name <input type="text" name="fname" size="30"><br>
Last Name <input type="text" name="lname" size="30"><br>
<a href="#" onclick="this.parentNode.submit();"> Submit here</a>
</form>
Supposons que je rentre avec mon propre nom:

Je l'ai utilisé get
dans l'attribut de méthode formulaire, car il est possible de voir les bons paramètres dans l'URL à la page chargée après soumettre .
http://www.greatsolutions.com.br/indexint.htm?fname=Paulo&lname=Buchsbaum
Cette solution applique évidemment à toute étiquette qui accepte l'événement onclick
ou d'un événement similaire.
this
est un excellent choix pour récupérer le contexte avec event
variable (disponible dans tous les principaux navigateurs et à partir de IE9) qui peut être utilisé directement ou transmis en tant qu'argument à une fonction.
Dans ce cas, remplacez la ligne par la balise a
par la ligne ci-dessous, en utilisant la propriété target
, qui indique l'élément qui a démarré l'événement.
<a href="#" onclick="event.target.parentNode.submit();"> Submit here</a>
bouton utilisation et css pour afficher l'image ou utiliser javascript, il n'y a pas de véritable moyen pour faire simple href de soumettre un formulaire sans javascript. –
je seconde que, malheureusement, ce n'est pas un moyen facile sans javascript – benhowdle89
Votre raison de faire cela ressemble à une fausse économie. Mieux vaut juste venir avec un CSS standard pour soumettre des boutons et utiliser des formulaires de la façon dont ils ont été conçus pour être utilisés. Il y a un tas de techniques de bouton css décrites ici: http://www.tripwiremagazine.com/2009/06/24-essential-submit-button-enhancements.html – dnagirl