begin process at 2010 03 21 16:44:26
  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 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 Affichage XML via Ajax d'une et une seule balise, dans ma page html [ par yourchenko ] Bonjour! j'éssai depuis 3 jours de faire fonctionner le script qui aurait pour objectif d'afficher la balise n0num dans ma page web. j'ai un premier Envoyer et récupérer un champ texte de formulaire entre une page Web et fichier XML? [ par alain8225 ] Salut à tous, J'ai créé une page Web dans laquelle j'ai placé un formulaire contenant des champs TEXT. L'utilisateur entre ses données qui sont enreg Pb avec xhr_object.open et IE [ par Degom95 ] Bonjour, Je gère un site de club et j'ai essayé de mettre à jour un DIV avec un fichier externe, après pas mal de recherche sur Codes-Sources, j'ai vu Envoi de code HTML en Ajax (méthode POST) et éditeurs WYSIWYG [ par mioumiounorris ] Bonjour ! Je suis en train de réaliser la partie admin d'un site, et j'utilise TinyMCE afin de pouvoir publier mes articles. Je me suis mis en tête de Lire un fichier XML [ par thomasberment ] Salut, je voudrai savoir s'il est possible de lire un fichier XML depuis un script ? C'est du local, je veux juste faire un lien entre deux fichier ( extraire donnée d'un fichier XML et Google AJAX APIs [ par zamubudio ] Hello, Je debute en prog HTML et j'essaye d'afficher les données contenues dans un fichier XML, en utilisant les fonctions déja creer par Google AJAX Récupérer plusieurs lignes qui ont le même nom en JS à partir d'un fichier XML [ par mastertom ] Bonjour,Je génère un fichier xml grâce à un fichier php :   </s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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 : 0,702 sec (4)

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