JSF invoquer la sauvegarde de méthode d'haricot et reRender composants sur la touche ENTRÉE

J'ai une table avec les champs de recherche. Je veux une méthode sur la sauvegarde de la fève à être invoquée lorsque la touche ENTRÉE est pressée, ainsi que le DataTable à être re-rendus.

Mon approche jusqu'à présent ne fonctionne que sous IE 6 et 7, pas dans FF. C'est le inputText:

<h:inputText
 value="#{applicantProductListBean.applicantNameFilterValue}"
 id="applicantNameFilterValue" onkeypress="submitByEnter(event)">
</h:inputText>

et c'est la méthode Javascript je suis en invoquant:

 function submitByEnter(e){
 if(e.keyCode==13){
      //alert("Enter was pressed");
      e.returnValue=false;
      e.cancel=true;
      document.getElementById("applicantProductListForm:refreshButton").click();
 } 
}

Comme vous pouvez le voir, la méthode Javascript clique sur le bouton d'actualisation, qui existe sur la page:

<a4j:commandButton value="Refresh" id="refreshButton"
 action="#{applicantProductListBean.refreshData}"
 image="/images/icons/refresh48x48.gif"
 reRender="table, scroller">
</a4j:commandButton>

La refreshData méthode ne retourne rien. Comme dit précédemment, cela ne fonctionne que sous IE 6 et IE 7.

Personne ne sait pourquoi il ne fonctionne pas dans FF?

Une alternative j'envisage de a été Raccourci, ce qui peut en effet attraper le cas de l'ENTRÉE, mais il ne peut invoquer le Javascript, donc il n'est pas approprié.

Est la bonne façon de le faire via RichFaces ou de la plaine JSF?

Cheers!

Mise à JOUR:

Légèrement modifié la réponse par BalusC, le script qui fonctionne est:

if (event.preventDefault) {
//Firefox
event.preventDefault(); 
} else {
//IE 
event.returnValue = false; 
}

OriginalL'auteur Markos Fragkakis | 2010-02-23