begin process at 2012 02 13 01:37:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

remplir mon fichier xml pour ensuite l'afficher dans mon formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

jeudi 7 mai 2009 à 11:07:59 | remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

fabricioliking

Re bonjour,
me revoila encore pour mes petites contines en ajax.

Voila j'arrive via mon code à afficher par le bied d'un alert le contenue d'un fichier xml.
Cependant, j'aimerai rajouter à l'évennement clique la création d'un fichier xml ( qui ira chercher des informations dans la base de données )

En finalité cela aura pour but de remplir automatiquement un formulaire avec la saisie simple d'un numéro client par exemple.

Voici le code javascript modifié :
Code :
 
function ajax()
{
var xhr=null;

if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}
elseif(window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//on définit l'appel de la fonction au retour serveur
xhr.onreadystatechange = function(){ alert_ajax(xhr); };
ch = document.formulaire.test.value;
alert(ch);
http.open("GET", "xml.php?test=" + escape(ch), true);
//on appelle le fichier reponse.txt
xhr.open("GET", "reponse.xml", true);
xhr.send(null);
}

pour résumer voila les deux lignes importantes :
http.open("GET", "xml.php?test=" + escape(ch), true);
//on appelle le fichier reponse.txt
xhr.open("GET", "reponse.xml", true);
j'aimerai créer mon fichier reponse.xml grâce au premier open et le lire via la suite de mon traitement par la suite.
J'ai due louper un épisode quelque part.

Merci d'avance d'éclairer ma lanterne.
jeudi 7 mai 2009 à 11:35:18 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

Bul3

Membre Club
bonjour,

>>Cependant, j'aimerai rajouter à l'évennement clique la création
>>d'un fichier xml
je ne comprends pas ce que tu veux faire...
tu veux créer en javascript un fichier xml ?
primo, ce sera donc sur le micro client, pas sur le serveur.
deuxio, xml.save() est possuible avce IE ( dans un .hta, pas un .htm )
et avec FF on peut y parvenir en gérant comme si c'était un fichier
texte "normal"
opera, chrome, safari.... je crains que ce ne soit pas
possible aujourd'hui (??)
si c'est sur le serveur ==> langage serveur !

>>( qui ira chercher des informations dans la base de données )
je comprend encore moins ????
pourquoi créer du xml à partit d'une base de données ?
soit tu n'as pas de base de données et tu utilises xml
     pour faire
soit tu as une base de données, et tu en exploites les données.

@+
jeudi 7 mai 2009 à 11:37:19 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

fabricioliking

oui en faite, je veux par exemple si je tape fabrice dans une zone de saisie, récupérer dans la base le nom, tel, adresse etc pour le mettre dans mon fichier xml, afin d'afficher le tout dans mon formulaire.
jeudi 7 mai 2009 à 11:44:13 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

Bul3

Membre Club
je répète ?
et pourquoi passer par un xml ?
met les directement depuis ta base de données ? non ?
tu appelles le langage sur le serveur pour gérer cette base,
    il te renvoie une page avec le formulaire rempli, et point barre....
@+

jeudi 7 mai 2009 à 11:46:48 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

Bul3

Membre Club
ou si tu appelles le serveur avec ajax, il te renvoie
champ1;champ2;champ3.... que tu met dans les champs
de ton formulaire après un ch'tiot split.
@+

jeudi 7 mai 2009 à 11:56:27 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

fabricioliking

en faite je peux créer une chiane dans ma page .php formaté comme du xml exemple

<?php
header("content-type:text/xml"); // tres important pour dire que la réponse qui va suivre doit être traitée comme du xml
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<racine>';
echo '<fils></fils>';
echo '</racine>';
?>

je me pose des questions concernant la récupération de ces données cela devra ressembler à quelque chose comme sa ?

function Tajax()
{
var xhr=null;

if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}
elseif(window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//on définit l'appel de la fonction au retour serveur
xhr.onreadystatechange = function(){ alert_ajax(xhr); };
ch = document.formulaire.test.value;
alert(ch);
http.open("GET", "xml.php?test=" + escape(ch), true);
xhr.send(null);
document.formulaire.zsnom = http.responseXml.getElementsByTagname("donne");
}

jeudi 7 mai 2009 à 12:19:30 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

fabricioliking

voila j'ai repris le tout et j'ai essayé donc à ma sauce voici ce que sa donne :

Page index.html

Code :
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
 
<head>
<title>exemple 500000</title>
</head>
<body>
 
<script type="text/javascript">
function Tajax()
{
var xhr=null;

if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}
elseif(window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//on définit l'appel de la fonction au retour serveur
ch = document.formulaire.id.value;
alert(ch);
http.open("GET", "xml.php?id=" + escape(ch), true);
cho = document.formulaire.pnom.value;
alert(cho);
xhr.send(null);
alert(http.responseXml.getElementsByTagname("donne"));
document.formulaire.nom.innerHTML = http.responseXml.getElementsByTagname("donne");
}
</script>
 
<p>
<a href="javascript:Tajax();">Valider</a>
</p>
 
<form action="index.html"name="formulaire">
<input type="text" id="id" valeur="id client"name="id" onkeyup="Tajax();">
<input type="text" id="nom"name="nom">
<input type="text" id="pnom"name="pnom">
 
</form>
 
</body>
</html>
page xml.php

Code :
<?php 
 

include('config.php');

$abr = $_GET['abr'];
$q = 'SELECT name from clients WHERE id = '.$abr.'; '
$r = mysql_query($q);


if((mysql_num_rows($r)>0))
{
$name = '';
header("content-type:text/xml"); // tres important pour dire que la réponse qui va suivre doit être traitée comme du xml
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<exemple>';
while($rep=mysql_fetch_array($r)){
echo '<donne>';
echo $rep['name'],
echo '</donnne>';
}
echo '</exemple>';
}

 
?>
 
le second alert de ma page index.html ne s'ouvre pas, j'en déduit que je suis donc déjà bloqué avant
jeudi 7 mai 2009 à 12:23:43 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

Bul3

Membre Club
Réponse acceptée !
j'avais bien compris !!!! mais pourquoi faire ?????
tu te compliques bien la vie....
retourne les données ou lit un fichier xml.
mais bon...
http.open,http.responseXml... c'est quoi http ?
xhr déjà. mais très loin d'être sûr que ça fonctionnera
tel quel avec tous les navigateurs
( sans préjuger du reste du script ! car déjà :
document.formulaire.zsnom = http.responseXml.getElementsByTagname("donne");
mal placé, doit être dans la fonction onreadystatechange
le tagname donne n'eiste pas dans le xml renvoyé .... )

en php : echo $champ1.';'.$champ2....
coté javascript :
var recu=xhr.responseText.split(";");
document.formulaire.zsnom = recu[0]; ....


jeudi 7 mai 2009 à 12:34:09 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

fabricioliking

J'ai pris note de ce que tu as dit et voila le résultat :  ((ps il n'y a pas de balise pour le code ?))

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>
    <title>exemple 500000</title>
</head>
<body>

<script type="text/javascript">
    function getXhr(){
                                var xhr = null;
                if(window.XMLHttpRequest) // Firefox et autres
                   xhr = new XMLHttpRequest();
                else if(window.ActiveXObject){ // Internet Explorer
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                   xhr = false;
                }
                                return xhr;
            }

function go(){
                var xhr = getXhr();
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
                    if(xhr.readyState == 4 && xhr.status == 200)
                    {
                        // On se sert de innerHTML pour rajouter les options a la liste
                             ch = document.formulaire.id.value;
                             http.open("GET", "xml.php?id=" + escape(ch), true);    
                            xhr.send(null);
                            document.formulaire.nom.innerHTML = xhr.responseXml.getElementsByTagname("nom");
                            document.formulaire.pnom.innerHTML = xhr.reponseXml.getElementsByTagname("pnom");
                    }
                }
           
</script>

<p>
<a href="javascript:go();">Valider</a>
</p>

<form action="index.html" name="formulaire">
<input type="text" id="id" valeur="id client" name="id" onkeyup="go();">
<input type="text" id="nom" name="nom">
<input type="text" id="pnom" name="pnom">

</form>

</body>
</html>


--------------------------------page xml.php


<?php 
    include('config.php');
    $abr = $_GET['abr'];
    $q = 'SELECT name from clients WHERE id =  '.$abr.'; '
    $r = mysql_query($q);
    if ((mysql_num_rows($r)>0))
    {   
         header("content-type:text/xml"); // tres important pour dire que la réponse qui va suivre doit être traitée comme du xml
         echo '<?xml version="1.0" encoding="UTF-8"?>';
          echo '<exemple>';
        while ($rep=mysql_fetch_array($r)){
         echo '<nom>';       
         echo $rep['nom'];
         echo '</nom>';
         echo '<pnom>';
         echo $rep['pnom'];
         echo'</pnom>'; 
        }
          echo '</exemple>';
    }   

?>
toujours rien ne se passe
jeudi 7 mai 2009 à 12:46:15 | Re : remplir mon fichier xml pour ensuite l'afficher dans mon formulaire

Bul3

Membre Club
t'as pris bonne note mais t n'as pas lu...
document.formulaire.nom.innerHTML = xhr.responseXml.getElementsByTagname("nom");
document.formulaire.pnom.innerHTML = xhr.reponseXml.getElementsByTagname("pnom");
déjà. dit : mal placé, doit être dans la fonction onreadystatechange
et ce, sans préjuger du reste !
et si tu parviens à faire fonctionner, un conseil néanmoins :
vérifie avec tous ( ou presque ) les navigateurs !



Cette discussion est classée dans : fichier, xml, open, xhr, reponse


Répondre à ce message

Sujets en rapport avec ce message

récuperer les données d'un fichier XML dans une zone de saisie [ par fabricioliking ] bonjoursVoila j'ai besoin d'un tout petit coup de patte, je récupére les données d'un fichier xml, j'arrive à les afficher par le bied d' "alert" mais Erreur dans mon code pour afficher une liste d'un fichier XML,HELP!!!!!!!!!!!!!!!!! [ par devchat1987 ] Bonjour, svp,j'arrive pas a faire fonctionner mon code,je veux affiche une liste des noms d'une fichier xml dans un div (dans une liste ordonnée ol). Tirage aléatoire de données dans fichier xml [ par math11 ] Bonjour, je suis actuellement a la recherche d'un moyen de tirer aléatoirement une donnée dans un fichier xml. Je connais la méthode de JavaScript d entete setRequestHeader envoi de fichier [ par ju0123456789 ] Bonjour, J'ai un script : [code=js]function AjoutePhoto() { var sel = document.getElementById('inser_photo'); if( sel != null ) { do Créer un fichier XML [ par clavelski ] Bonjour, J'aimerais que lors d'un click sur un bouton, un fichier xml se crée sur le serveur. Or le problème c'est que je sais le faire en Java mais liste de liens googleEarth api depuis un fichier de données xml [ par math11 ] Bonjour, Je suis à la recherche d'un moyen de construire une liste de lien d'après une requête dans un fichier xml. Les liens servirons a afficher l' window.open qui pose pb [ par bugs74 ] Bonjour j'ai un problème avec IE (fonctionne sur les autres navigateurs) sur un script qui fait un appel automatique à window.open. le window.open se Parcourt de fichier XML avec Javascript [ par AkSponkynot ] Voici mon fichier XML [code=xml] Serv1 coucou.fr ... ... [/code] Je voudrais r AJAX, le status de mon objet est toujours égal à "0", please help me ! [ par romtrico064649 ] Bonjour,Je désire effectuer une request de type XMLHTTPRequest sur un fichier XML.Voici mon soucis, je m'explique :Le code ci dessous contient deux fo widget+xml [ par pandouta08 ] bonjour j'ai un fichier xml généré avec un code php à partir d'une base de donnée .je voudrais savoir comment je peux charger dans le widget ce fichie


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,025 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales