Je souhaite soumettre un formulaire. Mais je ne vais pas utiliser un bouton d'entrée avec un type de soumission, mais un lien.
L'image ci-dessous montre pourquoi. J'utilise des liens d'image pour enregistrer / soumettre le formulaire. Comme j'ai un balisage css standard pour les liens d'image, je ne veux pas utiliser les boutons d'envoi d'entrée.
J'ai essayé d'appliquer onClick = "document.formName.submit ()" à l'élément a mais je préférerais une méthode html.
Des idées?
Réponses:
Deux manières. Créez un bouton et stylisez-le pour qu'il ressemble à un lien avec css, ou créez un lien et utilisez
onclick="this.closest('form').submit();return false;"
.la source
form.submit()
cela ne fonctionnera pas sans JavaScriptinput[type=submit].link { border: none; background: none; display: inline; color: blue; text-decoration: underline; }
et<input type=submit class="link" />
Vous ne pouvez pas vraiment faire cela sans une forme de script au meilleur de ma connaissance.
Exemple d' ici .
la source
Juste un style
input type="submit"
comme celui-ci a fonctionné pour moi:Testé dans Chrome, IE 7-9, Firefox
la source
input
élément approprié à l' aide des sélecteurs CSS sans attacher de classe à l'élément HTML.Vous utilisez des images à soumettre .. vous pouvez donc simplement utiliser un
type="image"
"bouton" d'entrée:la source
<button>
élément contenant un<img/>
élément.utilisation:
ou:
plus quelques CSS
la source
Décidément, il n'y a pas de solution avec du HTML pur pour soumettre un formulaire avec une
a
balise link ( ). Le HTML standard n'accepte que des boutons ou des images. Comme l'ont dit d'autres collaborateurs, on peut simuler l'apparence d'un lien à l'aide d'un bouton, mais je suppose que ce n'est pas le but de la question.IMHO, 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
this
object, qui fait référence à l'élément sur lequel on clique, qui est un nœud enfant du formulaire, qui doit être soumis. Il enthis.parentNode
va de même pour le nœud de formulaire. Après, il suffit d'appeler lasubmit()
méthode sous cette forme. Il n'y a pas de recherche nécessaire à partir du document entier pour trouver le bon formulaire.Supposons que j'entre avec mon propre nom:
J'ai utilisé l'
get
attribut de méthode de formulaire car il est possible de voir les bons paramètres dans l'URL à la page chargée après l'envoi.Cette solution s'applique évidemment à toute balise qui accepte l'
onclick
événement ou un événement similaire.this
est un excellent choix pour récupérer le contexte avec uneevent
variable (disponible dans tous les principaux navigateurs et à partir d'IE9) qui peut être utilisée directement ou passée comme argument à une fonction.Dans ce cas, remplacez la ligne par
a
tag par la ligne ci-dessous, en utilisant la propriététarget
, qui indique l'élément qui a déclenché l'événement.la source
Stackoverflow
. J'espère que vos corrections m'aideront à améliorer mon style. Mon anglais n'est pas bon non plus.vous pouvez utiliser OnClick = "document.getElementById ('formID_NOT_NAME'). SUBMIT ()"
la source