IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

LISTE lie à un INPUT


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut LISTE lie à un INPUT
    Bonjour à tous,

    J'ai trouvé sur ce site le tutoriel pour débuter en AJAX, c'est très bien.
    J'ai réussi à faire des liste liées par contre je voudrais l'adapter pour lier une liste à un champ INPUT, c'est à dire quand je fait un choix dans la liste que le champs input soit rempli automatiquement.Je n'arrive pas à faire cela.

    avez vous une idée pour m'aider?

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ton_input.value = ta_liste.value;
    Si le contenu que tu veux copier est le value de l'option sélectionnée,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ton_input.value = ta_liste.text;
    si tu veux que ce soit le texte de l'option.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Mon problème c'est mon input est générer dynamique par function javascript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function selectUnite(numero)
    {	
    	var toReturn = "<td><input name=\"unite[]\" type=\"text\" id=\"unite_" + numero + "\" onchange=\"\" size=\"10\" ></td>";
    	return toReturn;
    }
    ensuite j'ai le script ajax :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function goes(numero){
    				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){
    			leselect = xhr.responseText;
    			// On se sert de innerHTML pour rajouter les options a la liste
    			document.getElementById('unite_'+numero).innerHTML = leselect;
     
    		}
    	}
     
    	// Ici on va voir comment faire du post
    	xhr.open("POST","ajaxUnite.php",true);
    	// ne pas oublier ça pour le post
    	xhr.setRequestHeader('Content-Type','application/x-www-form- urlencoded');
    	// ne pas oublier de poster les arguments
    	sel = document.getElementById('determination_'+ numero);
    	determination = sel.options[sel.selectedIndex].value; 
    	xhr.send("determination="+determination);
    }
    Et Voici le script PHP ajaxUnite.php:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    
    	$determinant_chimique= $_POST["determination"];
    	
    	$unite=unite_determination_chimique($determinant_chimique);
    	
    	if(isset($determinant_chimique)){ton_input.value = ta_liste.value;
    
    		 echo "JE NE SAIS PAS QUOI METTRE ICI":aie:
    		
    	}else {echo "il y a un problème";}
    ?>

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Tu dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('unite_'+numero).value = leselect;
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('unite_'+numero).innerHTML = leselect;

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    J'ai modifier ma function mais le problème n'est pas regler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function goes(numero){
    				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){
    			leselect = xhr.responseText;
    			// On se sert de innerHTML pour rajouter les options a la liste
    			document.getElementById('unite_'+numero).value= leselect;
     
    		}
    	}
     
    	// Ici on va voir comment faire du post
    	xhr.open("POST","ajaxUnite.php",true);
    	// ne pas oublier ça pour le post
    	xhr.setRequestHeader('Content-Type','application/x-www-form- urlencoded');
    	// ne pas oublier de poster les arguments
    	sel = document.getElementById('determination_'+ numero);
    	determination = sel.options[sel.selectedIndex].value; 
    	xhr.send("determination="+determination);
    }
    Mon souci est que je n'ai aucune valeur dans value de input.
    Je voudrai lui donner une valeur en passant par le script php, ce sue je n'arrive pas à faire.
    Merci

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Installe Firebug et pour que tu puisse avoir une console d' erreur précise!

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci. Tout marche convenablement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Listes liées + input
    Par jfox dans le forum AJAX
    Réponses: 1
    Dernier message: 24/08/2009, 08h24
  2. [MySQL] 1 table et 2 listes liées
    Par Ekik dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 07/02/2006, 16h47
  3. XMLHTTPRequest et listes liées
    Par ben23 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/12/2005, 16h32
  4. fonction combinée: liste de choix + input text
    Par jflebegue dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/09/2005, 18h38
  5. Problème avec listes liées entre elles et bouton "précé
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/08/2005, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo