rechargement DIV avec Javascript
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:
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:
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...