Le meilleur moyen
Le meilleur moyen est d'insérer une balise d'entrée appropriée:
<input type="submit" value="submit" />
La meilleure façon JS
<form id="form-id">
<button id="your-id">submit</button>
</form>
var form = document.getElementById("form-id");
document.getElementById("your-id").addEventListener("click", function () {
form.submit();
});
Entourez ce dernier code JavaScript par un DOMContentLoaded
événement (choisissez uniquement load
pour la compatibilité descendante ) si vous ne l'avez pas déjà fait:
window.addEventListener("DOMContentLoaded", function () {
var form = document.... // copy the last code block!
});
Le moyen facile et déconseillé (la première réponse)
Ajoutez un onclick
attribut au lien et un id
au formulaire:
<form id="form-id">
<a href="#" onclick="document.getElementById('form-id').submit();"> submit </a>
</form>
Tous les moyens
Quelle que soit la façon dont vous choisissez, vous avez formObject.submit()
finalement appel (où formObject
est l'objet DOM de la <form>
balise).
Vous devez également lier un tel gestionnaire d'événements, qui appelle formObject.submit()
, donc il est appelé lorsque l'utilisateur clique sur un lien ou un bouton spécifique. Il y a deux manières:
Recommandé: liez un écouteur d'événement à l'objet DOM.
// 1. Acquire a reference to our <form>.
// This can also be done by setting <form name="blub">:
// var form = document.forms.blub;
var form = document.getElementById("form-id");
// 2. Get a reference to our preferred element (link/button, see below) and
// add an event listener for the "click" event.
document.getElementById("your-id").addEventListener("click", function () {
form.submit();
});
Non recommandé: insérez du JavaScript en ligne. Il y a plusieurs raisons pour lesquelles cette technique n'est pas recommandable. Un argument majeur est que vous mélangez le balisage (HTML) avec des scripts (JS). Le code devient inorganisé et plutôt impossible à maintenir.
<a href="#" onclick="document.getElementById('form-id').submit();">submit</a>
<button onclick="document.getElementById('form-id').submit();">submit</button>
Maintenant, nous arrivons au point où vous devez choisir l'élément d'interface utilisateur qui déclenche l'appel submit ().
Un bouton
<button>submit</button>
Un lien
<a href="#">submit</a>
Appliquez les techniques mentionnées ci-dessus pour ajouter un écouteur d'événement.
target="_blank"
ne semble pas fonctionner.