Bonjour,
J'ai une application JSF (1.2 avec Facelets, Richfaces, etc) qui était exclusivement destinée à IE6. Désormais, on doit gérer aussi Firefox (ouf !).
J'ai une page contenant un formulaire, avec un bouton qui rafraichit ce formulaire. Lors du rafraichissement, j'ajoute des liens (<h:commandLink>) dans ce formulaire. En gros, j'ai un truc comme ça :
	
	| 12
 3
 4
 5
 6
 7
 
 |  
<h:form id="toto">
    ...
    <a4j:commandButton ... reRender="toto"/>
    ...
    <h:commandLink .../>
</h:form> | 
 Mon souci vient du code du command link généré par JSF. En gros, il ressemble à ça :
	
	<a href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.forms['toto'],'...','');}return false">BLABLA</a>
 (pour info, jsfcljs est la fonction Javascript générée par le composant <h:commandLink/>)
Mon souci, c'est que document.forms["toto"] fonctionne initialement, mais dès que le formulaire est regénéré suite au a4j:commandButton, ce code Javascript ne fonctionne pas sur FF (mais bien sur IE) :
	
	| 12
 3
 
 | var x = document.forms["toto"];
var y = document.getElementById("toto");
alert("1: " + x + "\n2: " + y); | 
 me retourne :
	
	| 12
 
 | 1: undefined
2: [object HTMLFormElement] | 
 Du coup, sur FF, j'ai une erreur Javascript quand je clique sur le lien, qui ne fonctionne pas du coup.
Une idée pour résoudre le problème (sans avoir à changer le reRender du <a4j:commandButton>) ?
						
					
Partager