Transfert de données du javascript vers formulaire html

cousinlol Messages postés 59 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 26 octobre 2015 - 7 févr. 2007 à 20:25
cousinlol Messages postés 59 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 26 octobre 2015 - 8 févr. 2007 à 11:20
Bonsoir,

Débutant en javascript, je me demande comment alimenter mon formulaire html à partir d'un javascript.

Je récupère des informations provenant d'un script php selon la méthode ajax.

Voici mon script javascript :

function goAdrCtcEnt(param1)
{
    // Contrôle du navigateur
       var xmlhttp = getxmlhttp()
       
       if (!xmlhttp && typeof XMLHttpRequest!='undefined')
       {
        xmlhttp = new XMLHttpRequest();
    }
    
    xmlhttp.open("GET","../ajax/ajaxAdrCtcEnt.php?param1="+param1.value,false);
    xmlhttp.send(null);

        // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if(xmlhttp.status == 200)
        {
            var liste1 = xmlhttp.responseXML.getElementsByTagName('balise1');
            alert(xmlhttp.responseText);
        }
}


Dans le message "alert(xmlhttp.responseText);", je récupère bien ce qui vient de mon script php.

Mais je ne trouve pas comment le renvoyer vers mon formulaire html.

Merci d'avance

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
7 févr. 2007 à 22:12
Salut

Peux-tu préciser ce que tu veux faire car formulaire est un peu vague.
Tu recois quoi comme donnée par ton ajax
et tu veux les mettres dans quoi.

Un type input text, un ckechedbox, un select

Pour text c'est avec la value qui faut gérer
Pour checkbox c'est checked
Pour select, ca dépend ce que tu veux faire

regarde http://www.w3schools.com/htmldom/dom_obj_select.asp
Il y a des exemples

Bon courage
0
cousinlol Messages postés 59 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 26 octobre 2015
7 févr. 2007 à 22:55
Je récupère de mon ajax une adresse composée de 3 lignes adresses + le code postal; Donc 4 champs que je veux envoyer vers 4 champs présenté comme ceci :

Le format de sortie de l'ajax peut-être fait de n'importe quelle façon, donc si je dois le changer ce n'est pas un problème.

Je vais voir du côté du lien que tu m'as fournis.

Merci
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
8 févr. 2007 à 00:07
Ok

Considerons que l'on a comme sortie de AJAX
strReponse = "Adresse1|Adresse2|Adresse3|ville";

tabAdresse = strReponse.split("|");
document.getElementById("ontact_adresse_1").value = tabAdresse[0];
...

Je pense que cela repond a ton probleme.

Le plus propre apres c'est que ton AJAX te reponde en JSON ou en XML.
Pour le code est un peu plus complexe. ;-)
Voila
0
cousinlol Messages postés 59 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 26 octobre 2015
8 févr. 2007 à 09:35
Mon script ajax php est comme cela pour l'instant, je vais le modifier pour mettre en tableau le résultat.

header('Content-Type: text/xml; charset= ISO-8859-1');

if(!isset($param1)) $param1="";
{
    $inf = "<?xml version="1.0" encoding="iso-8859-1"?><racine>\n";

    // on fait la requête
    $queryString = "SELECT ent_adresse_1,ent_adresse_2, ent_adresse_3, id_ville
              FROM dk_entreprise
              WHERE id_entreprise='".$param1."'
              AND id_trt BETWEEN 1 AND 4";
    $requete= $MySql->queryOneRecord($queryString);

    $inf .= " ".$requete["ent_adresse_1"]." \n";
    $inf . = "".$requete["ent_adresse_2"]."\n";
    $inf .= " ".$requete["ent_adresse_3"]." \n";
    $inf . = "".$requete["id_ville"]."\n";
    $inf .= "</racine>";
    print $inf;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cousinlol Messages postés 59 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 26 octobre 2015
8 févr. 2007 à 11:20
Bon voilà ce que ça fait dans mon script ajax/php

header('Content-Type: text/xml; charset=ISO-8859-1');

if(!isset($param1)) $param1="";
{
    $inf = "<?xml version="1.0" encoding="iso-8859-1"?><racine>\n";

    // on fait la requête
    $queryString = "SELECT ent_adresse_1,ent_adresse_2, ent_adresse_3, id_ville
              FROM dk_entreprise
              WHERE id_entreprise='".$param1."'
              AND id_trt BETWEEN 1 AND 4";
    $requete= $MySql->queryOneRecord($queryString);

    $inf .= "|".$requete["ent_adresse_1"]."|".$requete["ent_adresse_2"]."|".$requete["ent_adresse_3"]."|".$requete["id_ville"]."|";
    $inf.= "</racine>";
    print $inf;
}

Ensuite dans mon JS

 xmlhttp.open("GET","../ajax/ajaxAdrCtcEnt.php?param1="+param1.value,false);
    xmlhttp.send(null);
    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if(xmlhttp.status == 200)
        {
            tabAdresse = xmlhttp.responseText;
            tabAdresse = tabAdresse.split("|");
            document.getElementById("contact_adresse_1").value = tabAdresse[1];
            document.getElementById("contact_adresse_2").value = tabAdresse[2];
            document.getElementById("contact_adresse_3").value = tabAdresse[3];
            document.getElementById("code_postal").value = tabAdresse[4];
        }

Tu parlais de xml, c'est à dire que ce n'est plus un tableau, mais plutot quelque chose comme ceci :

if(!isset($param1)) $param1="";
{
    $inf = "<?xml version="1.0" encoding="iso-8859-1"?><racine>\n";

    // on fait la requête
    $queryString = "SELECT ent_adresse_1,ent_adresse_2, ent_adresse_3, id_ville
              FROM dk_entreprise
              WHERE id_entreprise='".$param1."'
              AND id_trt BETWEEN 1 AND 4";
    $requete= $MySql->queryOneRecord($queryString);

    //$inf.=$requete["ent_adresse_1"];
    //$inf.=$requete["ent_adresse_1"];
    //$inf.=$requete["ent_adresse_1"];
    //$inf.=<codepostal>$requete["id_ville"]</codepostal>;
    $inf.= "</racine>";
    print $inf;
}

J'ai essayé, mais autant le tableau cela fonctionne, autant comme cela, cela ne va plus du tout.
0
Rejoignez-nous