Le titre parle de lui-même ... J'ai deux formulaires, l'un d'entre eux est un formulaire de saisie de texte unique et l'autre est composé de deux entrées de texte. Je ne veux pas de bouton de soumission , je veux que chaque formulaire soit soumis chaque fois que l'utilisateur appuie sur le bouton ENTRÉE lors de la saisie de texte:
Existe-t-il un moyen de créer un formulaire avec plusieurs entrées de texte se comporte de cette manière et évite d’avoir un bouton de soumission ?
Essayez d'ajouter ceci entre le <form></form>
Mots clés
<input type="submit" style="display: none" />
Testé et cela fonctionne sur Firefox et Chrome. Si vous avez un type d'entrée submit dans le formulaire, enter devrait automatiquement l'envoyer, qu'il soit visible ou non.
En fait, je l'utilise moi-même dans un formulaire de connexion, même si dans le champ nom d'utilisateur, il est plus logique de passer au champ suivant que de le soumettre. Juste au cas où vous avez un cas d'utilisation similaire, voici le code que j'ai utilisé (nécessite jQuery)
$('#username').keypress(function(event) {
if (event.keyCode == 13 || event.which == 13) {
$('#password').focus();
event.preventDefault();
}
});
Notez qu’il ya un léger bug cependant: si l’utilisateur sélectionne un nom d’utilisateur à complétion automatique et appuie sur enter, il passe toujours au champ suivant au lieu de le sélectionner. Je n'ai pas eu le temps de déboguer cela, mais si quelqu'un peut trouver une solution, ce serait cool.
Je cherchais une solution à ce problème et souhaitais partager ma solution à partir de nombreux articles publiés ici. (Testé sur Chrome/Firefox/IE moderne)
Donc, en utilisant uniquement Javascript, le code suivant envoie le formulaire si la touche Entrée est enfoncée n'importe lequel champ o si le bouton Submit
est enfoncé. Après cela, effacez/réinitialisez le formulaire, ce qui est une bonne chose à faire.
J'espère que ça aide.
<!DOCTYPE html>
<html>
<body>
<p>Based on http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_ev_onsubmit</p>
<p>When you submit the form, a function is triggered which alerts some text.</p>
<div onKeyPress="return myFunction(event)">
<form id="form01" action="demo_form.asp" onsubmit="return false;" >
Enter name: <input type="text" name="fname">
<input type="button" value="Submit" onclick="myFunction(0)">
</form>
</div>
<script>
function myFunction(e) {
if((e && e.keyCode == 13) || e == 0) {
alert("The form was submitted");
document.forms.form01.submit();
document.forms.form01.fname.value = ""; // could be form01.reset as well
}
}
</script>
</body>
</html>
Vous devrez chercher la touche Entrée. Cet article montre comment faire cela. Entrez l'événement de presse en JavaScript
Assurez-vous que vos entrées sont dans l'élément "form" et attribuez à l'élément "form" un attribut "action".