ajax + remplir un input à partir du choix d'une liste déroulante

Upload: gueingue-g-christian

Post on 06-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    1/15

    Forums Tutoriels Magazine FAQs Blogs Chat NewsletterÉtudes Emploi Club Contacts

    Discussion: Ajax + remplir un input à partir du choix d'une liste déroulante

    Vos recrutements informatiques700 000 développeurs, chefs de projets, ingénieurs, informaticiens...

    Contactez notre équipe spécialiste en recrutement

    Accueil ALM Java .NET Dév. Web EDI Programmation SGBD Office Solutions d'entreprise

    Applications Mobiles Systèmes Dév. Web AJAX Apache ASP CSS Dart Flash / Flex JavaScript

    PHP Ruby TypeScript Web sémantique Webmarketing (X)HTML

    ACCUEIL AJAX FORUM AJAX FAQ AJAX TUTORIELS AJAX LIVRES AJAX

    CDD CDI

    CDI

    CDI

      re (DGSI) recrute un ingénieur  ns web h/f

    DGSI - Ile de France - Levallois-Perret

    (92300)

    Ingénieur Développeur scientifique web H/FSOGETI High Tech - Ile de France - ISSY-LES-

    MOULINEAUX (92136)

    Chargé de recette pour leader e-commerce top 10du web françaisMobiskill - Ile de France - Paris (75000)

    Index du forum

    Webmasters - Développement Web

    JavaScript, AJAX, TypeScript & DartAJAX

    Ajax + remplir un input à partir du choixd'une liste déroulante

    Page 1 sur 2 1 2 Dernière

    Outils de la discussion

    04/08/2009, 19h30

     Ajax + remplir un input à partir du choix d'une liste

    déroulante

    Bonjour tout le monde ^^

    J'ai un petit problème !Je dispose d'une liste déroulante avec plusieurs choix

    Selon le choix sélectionné par l'utilisateur j'aimerais afficher dutexte dans un input

     j'ai donc un fichieressai.php

    #1

    Inscrit en:Messages:

    Étudiantmai 200737

    Points: 9

    sofuzion

    Invité régulier

     Se souvenir de moi ?

    S'inscrireAide

    x + remplir un input à partir du choix d'une liste déroulante http://www.developpez.net/forums/d789020/webmasters-developpeme...

    r 15 28/10/2015 22:20

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    2/15

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

     

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    3/15

    Répondre avec citation 0 0

    04/08/2009, 20h14

    Salut,Probablement parce que tu n'envoies pas la bonne valeur :

    Code: Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    categorie = sel.options[sel.selectedIndex].valu

    xhr.send("nom="+nom);

    ce ne serait pas plutôt :

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    categorie = sel.options[sel.selectedIndex].valu

    xhr.send("nom="+categorie);

    #2

    Inscrit en:Messages:

    Développeur Web juin 200823 781

    Points:Billets dans le blog:

    91 28620

    Bovino

    Rédacteur

     Pas de question technique par MP !

     Tout le monde peut participer à developpez.com, vous avezune idée, contactez-moi !

     Mes formations video2brain : La formation complète surJavaScript • JavaScript et le DOM par la pratique • PHP 5 etMySQL : les fondamentaux

    Mon livre sur jQueryModule Firefox / Chrome d'intégration de JSFiddle et

    CodePen sur le forum

    Répondre avec citation 0 0

    05/08/2009, 08h21

    Bonjour,Attention, tu as deux fois l'id idNomAnimal, un id doit êtreunique.

    Pourquoi tu mets une balise select dans le retour:

    #3

    Inscrit en:

    Messages:

    septembre2007

    7 126

    andry.aime

    Rédacteur/Modérateur

    Selon le choix sélectionné par l'utilisateur j'aimerais afficher 

    du texte dans un input 

    echo ""; 

    x + remplir un input à partir du choix d'une liste déroulante http://www.developpez.net/forums/d789020/webmasters-developpeme...

    r 15 28/10/2015 22:20

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    4/15

    Points: 12 098

    Répondre avec citation 0 0

    06/08/2009, 14h01

    @Bovino : exact dans le code que j'ai mis :p ya une petiteerreur de copier coller =)

    @andry.aime : bien vu pour l'id j'ai changéet le select c'est parce que je n'ai pas mis tout le reste du codeassez long ! j'aurais pas du le mettre

    sinon je voulais savoiren fait, j'ai deux listes déroulantes liéesdonc l'utilisateur sélectionne une catégorie présentes dans lapremière listeà partir de là, la deuxième se met à jour grâce à ajax (j'yrajoute des options)

    et ensuite l'utilisateur sélectionne un nom à partir de ladeuxième liste et là j'aimerais donc afficher des informationsprésentes en bdd, les mettre dans des input et autre ^^

    pourtant je fais exactement la même chose .. je ne comprendspas pourquoi cela ne fonctionne pas

    trop d'ajax tue l'ajax ? :p

    #4

    Inscrit en:Messages:

    Étudiantmai 200737

    Points: 9

    sofuzion

    Invité régulier

    Répondre avec citation 0 0

    06/08/2009, 15h01

    Pour les 2 listes liées, utilises un retour XML pour charger tonsecond liste, utiliser innerHTML pour changer ou créer unélément pose souvent des problèmes.http://www.developpez.net/forums/d77...te-liees-ajax/Pour remplir les input, tu fais de même façon mais au lieu deremplir une liste,

    tu mets le contenu de l' XML dans les input avec le onchange dela seconde liste.

    #5

    Inscrit en:

    Messages:

    septembre2007

    7 126Points: 12 098

    andry.aime

    Rédacteur/Modérateur

    Répondre avec citation 0 0

    06/08/2009, 15h03

    oki merci pour la rapidité de ta réponse

    #6

    sofuzion

    Invité régulier

    x + remplir un input à partir du choix d'une liste déroulante http://www.developpez.net/forums/d789020/webmasters-developpeme...

    r 15 28/10/2015 22:20

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    5/15

     je vais tester ça de suite !

    Inscrit en:Messages:

    Étudiantmai 200737

    Points: 9

    Répondre avec citation 0 0

    06/08/2009, 16h38

    oki mes deux premières listes c'est ok j'ai remplie la première à la main, ensuite la deuxièmes'actualise selon le choix dans la première

    sinon au niveau de change2() :

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    3

    4

    5

    6

    7

    8

    9

    1011

    12

    13

     

    function change2()

    {

    var xhr = getX

    // On défini c

    xhr.onreadysta

    {

    var rs

    var it

    documefor(va

    {

     je ne sais pas trop comment faire pour mettre un input à laplace de la liste

    #7

    Inscrit en:Messages:

    Étudiantmai 200737

    Points: 9

    sofuzion

    Invité régulier

    Répondre avec citation 0 0

    07/08/2009, 08h41

    Bonjour,Par exemple si ton php retourne:

    Code XML:

    Sélectionner tout - Visualiser dans une fenêtreà part

    1

    2

    3

    4

    56

    Livre1

    12312321

    12/10/2008

    Code HTML Sélectionner tout - Visualiser dans une fenêtre

    #8

    Inscrit en:

    Messages:

    septembre2007

    7 126Points:

    andry.aime

    Rédacteur/Modérateur

    x + remplir un input à partir du choix d'une liste déroulante http://www.developpez.net/forums/d789020/webmasters-developpeme...

    r 15 28/10/2015 22:20

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    6/15

    : à part

    1

    2

    3

    Titre :

    Isbn :

    Date de publication

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    7/15

    9

    10

    11

    12

    $connect= mysql_connect("local

    mysql_select_db("bdd_arche") o

    $res = mysql_query("SELECT * F

    while($row = mysql_fetch_assoc

    ajaxFiche.php

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

     

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    8/15

    Ca je te le confirmeonchange est un attribut JavaScript qui contient du code

    JavaScript, celui-ci n'est donc pas évalué lors d'une insertiondans le DOM, il faut affecter ces événements par script aprèsl'insertion, du style :

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    xhr.onreadystatechange = function(){

    var rst = xhr.responseXML;

    var items=rst.getElementsByTagName('el

    document.getElementById('nom').options

    for(var i=0;i

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    9/15

     

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    var rst = xhr.responseText;

    document.getElementById('inputNom').value=rst;

    Répondre avec citation 0 0

    08/08/2009, 15h37

    @andry.aime : je vais garder le xml j'ai plusieurs input c'est juste que là j'en test un seul pour voir déjà que ça fonctionne^^

    @bovino : j'ai rajouté la ligne

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

     

    document.getElementById('nom').onchange = funct

    mais ça ne change rien ...on dirait toujours qu'on ne rentre pas dans change2()

    #12

    Inscrit en:

    Messages:

    Étudiantmai 2007

    37Points: 9

    sofuzion

    Invité régulier

    Répondre avec citation 0 0

    08/08/2009, 15h44

    Arf... oui, c'est tellement gros que je ne l'avais même pas vu !

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    xhr.onreadystatechange = function(){

    var rst = xhr.responseXML;

    var items=rst.getElementsByTagName('el

    document.getElementById('nom').options

    for(var i=0;i

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    10/15

    1

    2

    3

    4

    5

    6

    7

    8

    9

    1011

    12

    xhr.onreadystatechange = function(){

    if(xhr.readyState == 4 && xhr.status == 20

    var rst = xhr.responseXML;

    var items=rst.getElementsByTagName('el

    document.getElementById('nom').options

    for(var i=0;i

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    11/15

    Répondre avec citation 0 0

    11/08/2009, 15h04 #16

    Inscrit en:Messages:

    Étudiant

    mai 200737

    Points: 9

    sofuzion

    Invité régulier

    x + remplir un input à partir du choix d'une liste déroulante http://www.developpez.net/forums/d789020/webmasters-developpeme...

    ur 15 28/10/2015 22:20

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    12/15

    Oui bien sûr :

    voici mon code de ma page essai.php

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    34

    5

    6

    7

    8

    9

    10

    11

    12

    13

     

    et le code de ma page ajaxFiche.php

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

    34

    5

    6

    7

    8

    9

    10

    11

    12

    13

     

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    13/15

    12/08/2009, 07h36

    Re,Attention à la casse.

    C'est valable aussi pour les noms des tables de la base. Souswindows la casse n'est pas respecté pour la base de donnéesmais sous linux oui. Tu pourras avoir des problèmes lors del'hébergement de ton site.

    Inscrit en:

    Messages:

    septembre2007

    7 126Points: 12 098

    andry.aime

    Rédacteur/Modérateur

    xhr.send(" N  om="+nom); 

    .......

    isset($_POST[" n om"]) .......

    WHERE Nom='".$_POST[" n om"]."' 

    Répondre avec citation 0 0

    24/08/2009, 08h34

    En ce qui concerne l'ordre des items, je pense avoir compris leproblème (j'ai eu le même!).Après l'exécution de la fonction change(), les items de la 2ndeliste déroulante sont triés en décroissant et celui qui est proposépar défaut est le dernier. Ex: 3 items dans la liste (item1, item2,item3) et c'est item3 qui est affiché alors que cela devrait êtreitem1.Pour contourner cela, il faut ajouter dans la fonction change(), juste avant l'appel de la fonction change2() la ligne suivante:

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    1

    2

     

    document.getElementById('nom').selectedIndex =

    #18

    Inscrit en:Messages:

    mars 2003144

    Points: 81

     jfox

    Membre régulier

    Répondre avec citation 0 0

    25/08/2009, 13h32 #19

    Inscrit en:Messages:

    Étudiantmai 200737

    Points: 9

    sofuzion

    Invité régulier

    x + remplir un input à partir du choix d'une liste déroulante http://www.developpez.net/forums/d789020/webmasters-developpeme...

    ur 15 28/10/2015 22:20

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    14/15

    Index du forum Webmasters - Développement Web

    JavaScript, AJAX, TypeScript & Dart AJAX

    Ajax + remplir un input à partir du choix d'une liste déroulante

    CDI

    CDI

    CDI

    O F F R E S D ' E M P L O I I T

    Ingénieur javascript fullstack (h/f)Urban Linker - Ile de France - Paris

    Musicien JavaScript Confirmé - Startup Musicale à Londres - UKMobiskill - Royaume-Uni - Londres

    Développeur Javascript (H/F)CTS - Bretagne - Grand Ouest

    Voir plus d'offres Voir la carte des offres IT

    « Discussion précédente | Discussion suivante »

    Bonjour !

    Merci pour votre aide

    @andry.aime : merci pour l'info c'est vrai que je n'avais pas faisattention !!

    @jfox : l'ordre des items est correct avec ça merci

    Mais sinon j'ai toujours mon problème :/on dirait que ma fonction change2() n'est jamais appelé ..elle ne se déclenche jamais ...

    Répondre avec citation 0 0

    25/08/2009, 13h46

    Re,Attention, tu as une erreur sur ton php:

    Code:

    Sélectionner tout - Visualiser dans une fenêtre àpart

    echo '';

    Installe Firebug et décrit l'erreur retourner

    #20

    Inscrit en:

    Messages:

    septembre

    20077 126

    Points: 12 098

    andry.aime

    Rédacteur/Modérateur

    echo '

  • 8/17/2019 Ajax + remplir un input à partir du choix d'une liste déroulante

    15/15

    Responsable bénévole de la rubrique AJAX : Xavier Lecomte - Contacter par email

    Nous contacter Participez Hébergement Informations légales Partenaire : Hébergement WebCopyright © 2000-2015 - www.developpez.com

    x + remplir un input à partir du choix d'une liste déroulante http://www.developpez.net/forums/d789020/webmasters-developpeme...