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

jQuery Discussion :

Affichage AJAX dans dialog


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Affichage AJAX dans dialog
    Bonjour,

    Présentation de l'archi : Struts 2, Appel AJAX JQuery, Récupération des données sous format HTML via une JSP qui utilise DisplayTag..

    Autant dire que je m'attends pas forcément à ce que quelqu'un ait déjà rencontré le problème. Bref.

    Voila mon problème vient du fait que je dois afficher dans une fenêtre modal (dialog) le contenu d'un tableau récupérer par un appel AJAX, et ce lors d'un clic sur un lien.

    Voici la fonction JS qui permet de lancer la modal et l'appel AJAX.


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    /**
     * Affiche une boite de message information detail reprise
     */
    function openPopupRepriseDetail(infoId,date,auteur,commentaire){
    	document.getElementById("valueDate").innerHTML = date;
    	document.getElementById("valueAuteur").innerHTML = auteur;
    	document.getElementById("valueCommentaire").innerHTML = commentaire;
     
    		jQuery("#repriseDetailDIV").dialog({
    			autoOpen : true,
    			modal : true,
    			width : 700,
    			height: 500,
    			buttons : {
    				"Ok" : function() { jQuery(this).dialog("destroy"); }
    			}
    		});
     
     		jQuery.ajax({
    			type: "GET",
    			url: '/batchdesk/getListBatchExecUnitaireModal.action?infoId='+infoId,
    			dataType: "html",
    			beforeSend:function(){
    				jQuery('#listeRepriseBatchUniteAjax').html(getLoadingPanel(0, 0));
    			},
    			success:function(data){
      				jQuery('#listeRepriseBatchUniteAjax').html(data);
     				jQuery('#listeRepriseBatchUniteAjax').css('display','block');
      			}
    		});
     
    }
    Voici le code qui est retourné via une JSP:

    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
    20
    21
    22
    23
    24
    25
    26
    <%@ taglib uri="http://ajaxtags.sourceforge.net/tags/ajaxtags"
    	prefix="ajax"%>
    <%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
     
     
    <ajax:displayTag id="listBatchExecUnitaireDIVDisplayTagReprise">
    	<display:table name="requestScope.lsBatchExecUnitairesReprise"
    		pagesize="12" requestURI="/getListBatchExecUnitaireModal.action"
    		id="tableListeExecBatchUnitaireReprise" defaultorder="descending"
    		defaultsort="1">
    		<display:column property="execUnitId" title="Id Exec" sortable="true" />
    		<display:column property="unitId" title="Id" sortable="true"
    			autolink="true" />
    		<display:column property="dossier" title="dossier" sortable="true"
    			autolink="true" />
    		<display:column property="dateDebut" title="Début"
    			decorator="fr.acmn.ihm.decorator.DateDecorator" sortable="true"
    			autolink="true" />
    		<display:column property="dateFin" title="Fin"
    			decorator="fr.acmn.ihm.decorator.DateDecorator" sortable="true"
    			autolink="true" />
    		<display:column property="exitCode" title="Statut" sortable="true"
    			autolink="true" />
    	</display:table>
    </ajax:displayTag>
    Maintenant la problèmatique..

    Lors du premier chargement (cas initial soit) j'affiche mes données, je clique sur le lien qui va bien et ma boite de dialog s'affiche et affiche bien les données.

    Du coup je suis content j'ai récupérer les informations que j'attendais, je ferme ma dialog et je souhaite avoir la même information pour un autre cas donc je clique sur une autre instance du même lien.

    Et là, ma boite de dialog s'ouvre bien, l'appel AJAX est bien effectué, les données sont bien retourner (je l'ai vu en mettant en place un alert de Data dans la méthode success de l'appel AJAX), mais elle ne s'affiche pas dans la div qui va bien...

    Pour avoir tester de multiple solution et avoir tourner le problème dans tous les sens, je peux aussi vous dire que lorsque j'affiche le résultat via la méthode success dans une div qui n'est pas contenu dans la boite de dialog bah l'information s'affiche bien..

    Si vous avez des idées, des pistes je suis preneur.

    Merci d'avoir lu!

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Je ne comprends rien aux codes, mais vous dites :
    je peux aussi vous dire que lorsque j'affiche le résultat via la méthode success dans une div qui n'est pas contenu dans la boite de dialog bah l'information s'affiche bien
    et vous créez et détruisez un nouveau dialogue (et la division qu'elle contient) à chaque tour de manège.

    Je pense donc qu'il s'agit d'un simple problème de création de code dynamique qui requiert l'usage de delegate() (jQuery 1.6.4 et +) ou de on() (jQuery 1.7 et +) suivant votre version de jQuery.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/11/2013, 11h10
  2. [AJAX] Appel AJAX dans Spring mvc 3 en utilisant Datatable et Dialog
    Par skudersky dans le forum jQuery
    Réponses: 0
    Dernier message: 27/02/2013, 18h13
  3. Comment gérer l'affichage d'une reponse ajax dans un tableau de tableau(html)
    Par satanluimm dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/03/2012, 15h14
  4. Probleme d'affichage d'une dialog dans uneApplet
    Par dot-_-net dans le forum Applets
    Réponses: 0
    Dernier message: 13/09/2009, 11h14
  5. [c++]Affichage page HTML dans dialog
    Par Guillaume602 dans le forum Windows
    Réponses: 3
    Dernier message: 09/01/2006, 18h42

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