Empêcher la soumission d'un formulaire sur la frappe de la touche Enter pour le Texte
Je sais que cette question a été posée, mais je ne pouvais pas trouver une réponse satisfaisante pour ma situation. Donc, je demande à nouveau.
J'ai un formulaire simple avec 2 zones de texte et un bouton envoyer. Après que l'utilisateur saisit du texte, soit dans la zone de texte, ils ne devraient pas être en mesure de présenter par le biais de la touche Entrée, seul le bouton soumettre devrait leur permettre de soumettre. Je pensais que le piégeage de la pression de touche entrée et le retour de faux à partir du gestionnaire d'événements onChange ferait l'affaire, mais apparemment pas, cela provoque toujours une forme de soumission...
function doNotSubmit(element) {
alert("I told you not to, why did you do it?");
return false;
}
</script>
<form id="myForm" action="MyBackEnd.aspx" method="post">
<table>
<tbody>
<tr>
<td>
Joe: <input id="JoeText" type="text" onChange="doNotSubmit(this)">
</td>
<td>
Schmoe: <input id="SchmoeText" type="text" onChange="doNotSubmit(this)" >
</td>
</tr>
</tbody>
</table>
<input type=submit>
J'ai testé sur Chrome et FF (dernières versions).
Pouvez vous s'il vous plaît me montrer comment empêcher le formulaire de soumission?
Grâce.
- double possible de Empêcher les Utilisateurs de soumettre le formulaire en appuyant sur enter
- Tout d'abord, je pense que vous voulez onkeypress ou onkeydown au lieu de onchange. En deuxième lieu, à ne
e
dans votredoNotSubmit
fonction?
Vous devez vous connecter pour publier un commentaire.
à piggy back sur @être-là de la réponse que vous souhaitez empêcher le comportement par défaut au lieu de l'arrêt de la propagation ( c'est à dire renvoyer false):
JS:
HTML:
Je pense que cela devrait le faire:
Si vous incluez un envoyer, puis sur le bouton par défaut de comportement du formulaire est à présenter sur la touche entrée. Pour empêcher les soumissions, vous pouvez ajouter une boîte de dialogue de confirmation de l'événement onsubmit (formulaire A). Une autre alternative est de remplacer le bouton soumettre avec votre propre (formulaire B). Toutefois, l'utilisateur doit ensuite cliquer sur le bouton soumettre.
Exécuter l'extrait de code pour tester
(Testé sur Chrome, Firefox et IE 5-11)
HTML: