2011-05-26 4 views
0

Avoir cette lignes de code:JSF2 tag ajax lance erreur javascript inconnu dans Internet Explorer

<h:commandLink value="Reset Filter" styleClass="button"> 
    <f:ajax event="click" render="filterWindowDiv tableX" listener="#{beanX.reset}" /> 
</h:commandLink> 

et ainsi qu'avec:

<h:commandLink value="Reset Filter" styleClass="button"> 
    <f:ajax event="click" render="@all" listener="#{beanX.reset}" /> 
</h:commandLink> 

une erreur inconnue sera jeté dans Internet Explorer 8:

Object doesn't support this property or method   pageX.jsf, line1 character 7 

Le h:commandLink se situe dans une o:window (OpenFaces 3).

Cependant, j'obtiens la même erreur si j'utilise les mêmes lignes de code par exemple pour un bouton Supprimer qui affiche après l'appel d'une méthode de bean un o:popupLayer.

Des idées? Merci d'avance! J'ai eu du code JavaScript dans ma div qui doit être rendu ad hoc tout en re-rendre une partie de la page. Cependant, il semble que IE ne peut pas gérer ce problème, alors que FF ne me dérange pas. Je pense me souvenir que j'ai lu quelque chose à propos de ça. Quoi qu'il en soit, puisque j'ai supprimé l'erreur JavaScript est parti. Mais comment appeler mon code JavaScript après le rendu? Je l'ai résolu comme dans cet exemple:

<h:commandLink value="Reset Filter" styleClass="button"> 
    <f:ajax event="click" render="@all" listener="#{beanX.reset}" 
      onevent="callback" /> 
</h:commandLink> 

méthode de rappel:

function callback(data) { 
    data.status == "success") { 
    // your JavaScript code 
    } 
} 

Merci encore pour votre aide!

+0

IE8 ne voit pas mplungjan

+0

Vérifié dans un navigateur qui donne encore plus d'informations sur les erreurs? Comme FireFox + FireBug ou Chrome. Ou est-ce juste IE seulement? – BGerrissen

+0

Pas étonnant que l'erreur se produise juste dans Internet Explorer 8, ce n'est pas reproductible dans FF. –

Répondre

2

Le problème se trouve ici avec événement click <h:commandLink>

Je ne sais pas la cause possible, mais en utilisant mousedown, nous l'espérons résoudre votre problème.

+0

Merci mais malheureusement en utilisant l'événement onmousedown dans '' dans le 'h: commandLink' le tag n'a pas résoudre le problème. –

+0

D'autres idées? –

+0

Il est intéressant ... il ressemble à un événement "onmouseup" qui fonctionne mais qui sera lancé avec un clic droit de la souris. Ce comportement n'est pas voulu et dans ce cas l'erreur JS se produit à nouveau. –