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

JavaScript Discussion :

Peut-on forcer le rafraichissement de la variable document


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 33
    Points : 24
    Points
    24
    Par défaut Peut-on forcer le rafraichissement de la variable document
    Bonjour tout le monde.

    Je n'y connais pas grand chose en Javascript, mais je suis obligé de m'y mettre dans le cadre du développement d'une appli.

    Voilà mon problème : j'ai une page jsp qui contient un menu de navigation avec 2 boutons pour 2 modes différents.
    La page est en grande partie gérée en AJAX. Aussi, chaque clic sur un de ces 2 boutons permet de mettre à jour la page pour qu'elle corresponde au bon mode.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input value="Mode1" onclick="show_tab('tab_mode1');" id="Btn_mode1" class="Tab" type="button"/>
    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
    // show a tab : with a name tabname
    		var show_tab = function(tabname)
    		{
    			var _div = document.getElementById(tabname) ;			
    			reset_tab();			
    			var _btn1 = document.getElementById(tabname.replace('tab','Btn'));
     
    			if (_btn1)
    				_btn1.className = "TabSelect";
     
    			if (_div)
    			{
    				hidden_all();
    				_div.style.visibility = "visible";	
     
    				// Traitement
    				if (tabname.split("_")[1] == "mode1")
    				{
                                            //Traitement du mode 1
    				}
    				else if (tabname.split("_")[1] == "mode2")
    				{
    					//Traitement du mode 2
    				}	
    			}
    		}
    Dans chacun de ces 2 modes, il y a un lien (pour debugguer) qui permet d'afficher du code XML en rapport avec le mode en cours. Ce code étant "caché" dans la page pour stocker des informations. Le lien est relié à la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var getXML = function()
       	 	{
       	 		var xmlcontent = document.getElementById("List"); 		
       	 		alert(xmlcontent.innerText);
       	 	}
    Ceci fonctionne bien, sauf lorsque je switche entre les 2 onglets : dans ce cas, la fonction affiche les informations de l'autre page.
    Je pensais que la variable document permettait de récupérer les informations de la page en cours. Existe-il un moyen de forcer la récupération des informations du mode courant?

    J'espère que ce n'est pas trop obscur. Encore une fois, je suis novice en Javascript et je découvre ce code. Si vous avez besoin de plus de détails, n'hésitez pas.

    Merci d'avance!

    A+
    GzG

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    En fait, j'ai creusé un peu et le bug survient lorsque je décoche une checkbox dans la page.

    Voici la fonction qui nettoie le code XML avant de le réécrire, peut-être y verrez vous des erreurs.

    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
    33
    34
    35
    var RemoveAllChild = function(element)
    		{
    		    var eltsToDelete = new Array();
    		    var elts = null; 
    		    var count = null;  
     
    		    if (element != null)
    		    {
    		    	elts = element.children;
     
    		    	if (elts != null)
    		    	{
    		    		count = element.children.length;
    		    	}
    		    	else
    		    	{
    		    		count = 0;
    		    	}
     
    		        for (var i = 0; i < count; i++)
    		        {
    		            var child = elts[i];
     
    		            if (child != null )
    		            {
    		                eltsToDelete.push(child);
    		            }
    		        } 
     
    		        for (var i = 0; i < eltsToDelete.length; i++)
    		        {
    		            element.removeChild(eltsToDelete[i]);
    		        } 
    		    }
    		}

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/10/2006, 15h16
  2. [MFC] CDialog -> forcer le rafraichissement
    Par Rafoo dans le forum MFC
    Réponses: 3
    Dernier message: 05/09/2006, 16h51
  3. Forcer l'emploi d'une variable dans Procedure
    Par Arvulis dans le forum Oracle
    Réponses: 2
    Dernier message: 17/06/2006, 10h58
  4. Rafraichissement avec une variable
    Par niceday dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/08/2005, 10h08
  5. [JPanel] Forcer le rafraichissement d'un sous panel
    Par tomca dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 18/05/2005, 16h49

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