Bonjour,

j'utilise une page web avec un javascript pour afficher un fichier XML via XSL
ce JS est appel� au chargement de la page avec la directive
<body onload="....">

ci dessous mes javascripts:


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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
    function loadXMLDoc(dname) 
    { 
      if (window.XMLHttpRequest) 
      { 
        xhttp=new XMLHttpRequest(); 
      } 
      else 
      { 
        xhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xhttp.open("GET",dname,false); 
      xhttp.send(""); 
      return xhttp.responseXML; 
    } 
 
    function displayResult(sigle,valeur) 
    {
      document.getElementById("content").innerHTML='';
      xmlfile="test.xml"; 
      xslfile="srfil.xsl"; 
      xml=loadXMLDoc(xmlfile); 
      xsl=loadXMLDoc(xslfile); 
 
      // code for Mozilla, Firefox, Opera, etc. 
      if (document.implementation && document.implementation.createDocument) 
      { 
        xsltProcessor=new XSLTProcessor(); 
        xsltProcessor.importStylesheet(xsl); 
 
        if ( sigle != "" && valeur != "") 
        { 
            xsltProcessor.setParameter(null, "filtresigle", sigle); 
            xsltProcessor.setParameter(null, "filtrevalue", valeur); 
            xsltProcessor.setParameter(null, "gofiltre", 1); 
        } 
        else 
        { 
            xsltProcessor.setParameter(null, "gofiltre", 0); 
        } 
 
        resultDocument = xsltProcessor.transformToFragment(xml,document); 
        document.getElementById("content").appendChild(resultDocument); 
      } 
    } 
 
    function valider() 
    { 
      // si la valeur des champ est non vide 
      if(document.filtre.sigle.value != "" && document.filtre.valeur.value != "") 
      { 
        // les données sont ok, on peut envoyer le formulaire 
        displayResult(document.filtre.sigle.value,document.filtre.valeur.value); 
      } 
      else 
      { 
        // sinon on affiche un message 
        alert("Saisissez les données"); 
        // et on indique de ne pas envoyer le formulaire 
        return false; 
      } 
    }
et le code HTML


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
<body onload="displayResult()"> 
  <div id="header"> 
    <h1>Décodage SRFIL</h1> 
    <h2>Test.log</h2> 
  </div> 
  <div id="filtre"> 
    <h3>Filtre</h3> 
 
    <form name="filtre" action="" onsubmit="return valider()" method="get"> 
      <p> 
        <label for="sigle">Sigle :</label> 
        <input type="text" name="sigle" value="" /> 
        <label for="valeur">Valeur :</label> 
        <input type="text" name="valeur" value="" /> 
        <input type="submit" value="Ok" /> 
      </p> 
    </form> 
 
  </div> 
  <div id="content" /> 
</body>
Au chargement initial de la page, le fichier XML est correctement affich� via l'appel au script "DisplayResult".
On n'y passe pas de param�tres (ceux-ci servent � ajouter des filtres pour l'affichages des donn�es XML)

Le formulaire sert pour l'utilisateur pour qu'il puisse filtrer l'affichage des donn�es XML.

les valeurs sont correctement r�cup�r�e par le script "valider".

D�s validation du formulaire, le filtrage se passe bien (j'ai un rafraichissement de la div "content" avec les donn�es filtr�es.

par contre quelques instant plus tard, j'ai un refresh complet de la page, sans les donn�es de filtrage...

j'ai essay� de retirer la directive "onload" dans la balise <body>, mais cela ne change rien...