Bonjour,
j'utilise un page web avec un javascript pour afficher un fichier XML via XSL
ci dessous les script et codes HTML:
et le code HTML
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 filtre l'affichage des données XML
les valeurs sont correctement récupérée par le script "valider".
Par contre la commande "displayResult(document.filtre.sigle.value,document.filtre.valeur.value);" ne semble pas être correctement appelée car dès la validation du formulaire, rien ne se produit...
Modifié par mamax (03 Dec 2010 - 10:57)
j'utilise un page web avec un javascript pour afficher un fichier XML via XSL
ci dessous les script et codes HTML:
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)
{
xmlfile="test.xml";
xslfile="srfil.xsl";
xml=loadXMLDoc(xmlfile);
xsl=loadXMLDoc(xslfile);
// code for Mozilla, Firefox, Opera, etc.
else 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
<body onload="displayResult()">
<div id="header">
<h1><a href='http://srfil.maxk.fr'>Décodage SRFIL</a></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 filtre l'affichage des données XML
les valeurs sont correctement récupérée par le script "valider".
Par contre la commande "displayResult(document.filtre.sigle.value,document.filtre.valeur.value);" ne semble pas être correctement appelée car dès la validation du formulaire, rien ne se produit...
Modifié par mamax (03 Dec 2010 - 10:57)