IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Interaction RichFaces JQuery


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 102
    Par défaut Interaction RichFaces JQuery
    Bonjour j'aimerai faire marcher ce petit bout de code mais voila, la balise repeat marche bien mais la raquette Jquery du richpanel ne s'exécute pas; et donc les panels s'affichent mais sans rendu html.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <h:form id="t">
    			<a4j:repeat var="item" value="#{mysession.listcom}">
     
      				<rich:panel style="width: 100%;align: left"  id="comId" query="$('#comId').html(document.getElementById('t:myid').value)"/>
      					#{item.texte} <h:inputText value="#{item.texte}" id="myid"/><br/>
     
     
    			</a4j:repeat>
    </h:form>
    j'ai également essayé ceci sans succès
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <script type="text/javascript" src="./Scripts/jquery-1.5.2.min.js"></script>
    		<script type="text/javascript">
    		$(document).ready(function(){
    			$('#comId').html(document.getElementById('t:myid').value);
     
    	    });
     
     
    		</script>
    		<h:form id="t">
    			<a4j:repeat var="item" value="#{mysession.listcom}">
     
      				<rich:panel style="width: 100%;align: left"  id="comId"/>
      					#{item.texte} <h:inputText value="#{item.texte}" id="myid"/><br/>
     
     
    			</a4j:repeat>
    </h:form>
    Mon problème (je pense) est dans la gestion des sélecteurs jquery. Comment faire passer les variable jsf (avec leur #) vers jquery sans créer de confits, jquery utilisant aussi le #.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hello,

    Quand on utilise jQuery avec Richfaces, on doit utiliser jQuery et non $ (ce dernier référençant en réalité prototype).

    Un code contenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).ready(function(){ ... }
    devient donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jQuery(document).ready(function(){ ... }
    Ensuite, pour les ID, au lieu d'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jQuery("idForm:idComponent");
    on échappera le ":" ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jQuery("idForm\\:idComponent");
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 102
    Par défaut Salut!
    Ok Romaintaz,
    Sauf que ce bout de code marche parfaitement chez moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <script type="text/javascript" src="./Scripts/jquery-1.5.2.min.js"></script>
    		<script type="text/javascript" >
    		$(function(){
    			$('.flatx').html(document.getElementById("navigationTab:msg").value);
    			Jobject=$('.0x').clone(false);
    		 	var valeur=Jobject.attr("value");
    			$('.0').html(valeur);
    			Jobject=$('.1x').clone(false);
    		 	var valeu=Jobject.attr("value");
    			$('.1').html(valeu);
    			Jobject=$('.2x').clone(false);
    		 	var vale=Jobject.attr("value");
    			$('.2').html(vale);
    	    });
     
    		</script>
    J'ai réussi à pouvoir formater les styleClass de mes objets à créer dynamiquement et dont je ne connais pas le nombre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <a4j:repeat var="item" value="#{mysession.list2com}"  styleClass="tripleX">
     
      				<rich:panel style="width: 100%;align: left"  styleClass="#{item.id}"/>
      					#{item.com.texte} <h:inputText value="#{item.com.texte}" styleClass="#{item.id}x"/><br/>
     
    			</a4j:repeat>
    En fait je voudrais afficher des commentaires liés à un article et le texte est en html.
    Mon problème aujourd'hui est mon code javaScript qui ne respecte pas le "parsing xml". Voici la fonction Javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <script type="text/javascript" src="./Scripts/jquery-1.5.2.min.js"></script>
    <script type="text/javascript" >
    $(function(){
    	$('.flatx').html(document.getElementById("navigationTab:msg").value);
    	for(var i = 0 ; i < 100 ; i++){ 
    		Jobject=$('.'+i+'x').clone(false);
    	 	var valeur=Jobject.attr("value");
    		$('.'+i).html(valeur);
    	}
    });
     
    </script>
    Ceci me génère l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Error Parsing /article.xhtml: Error Traced[line: 48] The content of elements must consist of well-formed character data or markup.
    La ligne 48 étant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for(var i = 0 ; i < 100 ; i++){
    Il est claire que c'est le "<" qui crée problème, comment le contourner.
    Comment pourrais-je mettre mon code dans un tout autre fichier .js et l'appeler dans ma page?
    Pour info j'utilise Jsf 2 et Richfaces 4
    Merci

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hello,

    Vu que tu utilises Richfaces, jQuery est déjà intégré, donc pas la peine de recharger cette librairie. Ca risque de faire des conflits...

    Pour ton problème, c'est que tu mets un caractère < dans ta page, qui est censée respecter le format XML. Donc 3 choix :

    1. Tu remplaces < par &lt;, ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (i = 0; i &lt; 100; i++) {
        ...
    }
    2. Mets tout ton code JavaScript entre <![CDATA[ et ]]>, ce qui revient à écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    <![CDATA[
    $(function ...
     
    ]]>
    </script>
    3. Tu externalises tout ton code JavaScript dans un fichier, que tu importes ensuite dans ta page XHTML...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 102
    Par défaut Salut!
    Désolé pour le retard mais j'avais déjà résolu le problème en optant pour la troisième solution.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conseils interactions PHP/JQuery
    Par theNorwegian dans le forum jQuery
    Réponses: 4
    Dernier message: 06/09/2013, 11h21
  2. Réponses: 0
    Dernier message: 08/07/2011, 12h06
  3. [AJAX] Interaction entre 2 plugin Jquery?
    Par Thy974 dans le forum AJAX
    Réponses: 1
    Dernier message: 01/09/2010, 14h35
  4. [Richfaces]Interaction avec popup
    Par wajdopovitch dans le forum JSF
    Réponses: 5
    Dernier message: 25/06/2009, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo