Si vous pouvez modifier votre code HTML, vous ne serez probablement besoin de faire de JS pour obtenir cela fonctionne. Les champs INPUT dans votre code HTML doivent être placés à l'intérieur d'un tag FORM (au moins, c'est ce qui a plus de sens dans la plupart des cas).
Si vous pouvez le faire, vous pouvez alors changer l'élément INPUT du bouton type à l'SOUMETTRE et peut alors écouter le onsubmit événement sur votre élément de formulaire. L'événement est déclenché à la fois en appuyant sur la touche Entrée et en cliquant sur le bouton et il fonctionne très bien à travers les navigateurs. Le seul problème est IE qui ne déclenche pas l'événement onsubmit sur un formulaire avec seulement 1 champ de saisie de texte. Pour cela, vous devrez insérer un autre champ dans le formulaire. Vous pouvez le cacher pour votre cas. Plus ref à: http://style-vs-substance.com/development/form-submit-by-enter-key-and-internet-explorer/
EDIT: Exemple de code
<form id="myForm">
<!--[if IE]>
<input type="text" style="display: none;" disabled="disabled" size="1" /><![endif]-->
<input type="text"/>
<input type="submit" value="Search"/>
</form>
Puis dans votre JS:
var formHandler = document.getElementById('myForm');
formHandler.onsubmit = function(){
//this callback will be invoked both by the search button and enter key now
//your logic here
}
peut-être quelques specifc IE/FF? Saviez-vous que lorsque vous utilisez IE, vous devriez aller pour 'window.event.keyCode' sinon' event.which'? –