Fonction de déclenchement sur la touche Entrée

J’ai une fonction de recherche simple que je veux déclencher en appuyant sur la touche Entrée, bien que la fonction s’exécute mais le formulaire soit également posté.

 function search() { ... } $(document).ready(function() { $("#text").keypress(function (e) { if (e.which==13) search(); }); });  

Liez la fonction à l’événement submit et empêchez la valeur par défaut:

 $('form').submit(function(ev){ ev.preventDefault(); /* your code here */ }); 

Il n’est pas nécessaire d’écouter un événement de touche Entrée . Vous devez écouter l’événement submit , qui se déclenchera également lorsque vous appuierez sur la touche.

Voici la bonne façon de le faire:

 $(document).ready(function() { $("#searchForm").submit(function (e) { e.preventDefault(); search(); }); }); 
  

utiliser return false , il empêche l’action par défaut

Vous pouvez essayer de renvoyer false depuis votre fonction, ce qui empêchera le traitement de continuer.

C’est la façon dont les formulaires fonctionnent, vous devez utiliser submit event: http://api.jquery.com/submit/

Utilisez preventDefault ou retournez simplement false pour annuler l’action de soumission naturelle.