Ho cercato di disabilitare ilEnterChiave sul mio modulo. Il codice che ho è mostrato di seguito. Pour le meilleur motif pour le goût invio sta ancora attiando l'invio. Le code de la route est le principal et essentiel pour corriger les erreurs.
disableEnterKey: function disableEnterKey(e){
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
return (key != 13);
},
si vous utilisez jQuery, c’est assez simple. Voici
$(document).keypress(
function(event){
if (event.which == '13') {
event.preventDefault();
}
});
La plupart des réponses sont en JQuery. Vous pouvez le faire parfaitement en Javascript pur, simple et aucune bibliothèque requise. C'est ici:
<script type="text/javascript">
window.addEventListener('keydown',function(e){if(e.keyIdentifier=='U+000A'||e.keyIdentifier=='Enter'||e.keyCode==13){if(e.target.nodeName=='INPUT'&&e.target.type=='text'){e.preventDefault();return false;}}},true);
</script>
Ce code fonctionne très bien car il désactive uniquement l’action de frappe «Entrée» pour le type d’entrée = 'texte'. Cela signifie que les visiteurs peuvent toujours utiliser la touche "Entrée" dans textarea et sur l'ensemble de la page Web. Ils pourront toujours envoyer le formulaire en cliquant sur le bouton "Soumettre" avec les touches "Tab" et en appuyant sur "Entrée".
Voici quelques faits saillants:
Si vous souhaitez également désactiver "Entrée" pour d'autres actions, vous pouvez ajouter console.log (e); Pour vos besoins de test, appuyez sur F12 en chrome, accédez à l'onglet "Console", appuyez sur "retour arrière" sur la page et regardez à l'intérieur pour voir les valeurs renvoyées. Vous pouvez ensuite cibler tous ces paramètres pour améliorer le code ci-dessus en fonction de vos besoins pour"e.target.nodeName","e.target.type"et beaucoup d'autres ...
essayez ceci ^^
$(document).ready(function() {
$("form").bind("keypress", function(e) {
if (e.keyCode == 13) {
return false;
}
});
});
J'espère que cela t'aides
Voici un moyen simple d'accomplir cela avec jQuery en le limitant aux éléments d'entrée appropriés:
//prevent submission of forms when pressing Enter key in a text input
$(document).on('keypress', ':input:not(textarea):not([type=submit])', function (e) {
if (e.which == 13) e.preventDefault();
});
Merci à cette réponse: https://stackoverflow.com/a/1977126/560114 .
Dans votre balise de formulaire, collez simplement ceci:
onkeypress="return event.keyCode != 13;"
Cliquez ici pour en savoir plus sur ce qui est jQuery.
$("form").bind("keydown", function(e) {
if (e.keyCode === 13) return false;
});
То будет ждать нажатия клавиш, если этоEnter, то ничего не сделает.
Ajoutez simplement le code suivant dans la balise <Head>
dans votre code HTML. Il soumettra le formulaire sur Entrer la clé pour tous les champs du formulaire.
<script type="text/javascript">
function stopEnterKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
}
document.onkeypress = stopEnterKey;
</script>
Решение очень простое:
Заменить тип "Отправить" кнопкой
<input type="button" value="Submit" onclick="this.form.submit()" />
J'ai vérifié toutes les solutions ci-dessus, elles ne fonctionnent pas. La seule solution possible consiste à intercepter l'événement 'onkeydown' pour chaque entrée du formulaire . Vous devez associer disableAllInputs à onload de la page ou via jquery ready ()
/*
* Prevents default behavior of pushing enter button. This method doesn't work,
* if bind it to the 'onkeydown' of the document|form, or to the 'onkeypress' of
* the input. So method should be attached directly to the input 'onkeydown'
*/
function preventEnterKey(e) {
// W3C (Chrome|FF) || IE
e = e || window.event;
var keycode = e.which || e.keyCode;
if (keycode == 13) { // Key code of enter button
// Cancel default action
if (e.preventDefault) { // W3C
e.preventDefault();
} else { // IE
e.returnValue = false;
}
// Cancel visible action
if (e.stopPropagation) { // W3C
e.stopPropagation();
} else { // IE
e.cancelBubble = true;
}
// We don't need anything else
return false;
}
}
/* Disable enter key for all inputs of the document */
function disableAllInputs() {
try {
var els = document.getElementsByTagName('input');
if (els) {
for ( var i = 0; i < els.length; i++) {
els[i].onkeydown = preventEnterKey;
}
}
} catch (e) {
}
}