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 :

[AJAX] Changer la valeur d'un input avec une valeur récupérée en php


Sujet :

JavaScript

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut [AJAX] Changer la valeur d'un input avec une valeur récupérée en php
    bonjour, Je voudrais afficher une valeur (récupéré en base) dans un input lorsque je choisi une valeur dans une combo.
    J'ai fais ceci:

    Page qui contient le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span id="cbs"> </span>
    fonction appellée sur le onChange du select:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    function chang(){
    		var sel = document.getElementById('cb');
    		var cb = sel.options[sel.selectedIndex].value;
    		var adresse = "./recupCBS.php?cb="+cb;
    		makeRequest(adresse, "cbs"); 
    		return false;
    	} 
     
    function makeRequest(url,element_id){
    	if(window.XMLHttpRequest) {
    		//FireFox
    		xhr = new XMLHttpRequest();
    	}
    	else {
    		if(window.ActiveXObject) {
    			//IE
    			try {
    				xhr = new ActiveXObject("Microsoft.XMLHTTP" );
    			}
    			catch (e) {}
    		}
    	}
    	if (xhr) {
    		//Si ca a fonctionné
    		xhr.onreadystatechange = function() {
        		// instructions de traitement de la réponse
    			ShowContents(element_id)
    }
    		xhr.open("GET",url,true);
    		xhr.send(null);
    	}
    	else {
    		document.getElementById(element_id).innerHTML = "Désolé, impossible de créer une requête XMLHttpRequest";
    	}
    }
     
    function ShowContents(element_id) {
    	if(xhr.readyState == 4) { // 4 = terminé et initialisé
    		if(xhr.status == 200) { // 200 = terminé pour la page (type erreur 404 = non trouvé etc...)
    			var outmsg = xhr.responseText;
    			document.getElementById(element_id).innerHTML = outmsg; 
    		}
    	}
    }
    Fichier php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //requete + traitement du resultat
    echo "<input type=\"text\" name=\"t_code_barre_2\" value=\"".$newCBS."\" />";
    Ceci marche sauf que lorsque je valide mon formulaire dans ma variable $_POST['code_barre_2'] il n'y a rien

    Je voudrais savoir comment faire pour à la place du span mettre le input et avec la fonction php changer la valeur du input

    Merci

  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
    <input type="hidden" id="cbs" />
    Le php
    et la fonction javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var outmsg = xhr.responseText;
    			document.getElementById(element_id).type= 'text';
    			document.getElementById(element_id).value= outmsg;

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pourquoi changer le type de l'input ? Et pourquoi mettre un hidden ? Un text peut faire l'affaire dès le début

  4. #4
    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
    Parce que j'avais cru comprendre qu'il voulait que le input apparaisse après avoir choisi la valeur dans un combo, mais sinon, cela n'est effectivement pas nécessaire...

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/04/2017, 15h22
  2. Réponses: 21
    Dernier message: 05/02/2015, 11h26
  3. [XL-2000] Remplir une valeur dans cellule à partir d'une valeur precise d'un fichier texte
    Par cactus666 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2010, 10h31
  4. [AJAX] Affichage d'une valeur d'un input
    Par Ibanks dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/01/2007, 14h45
  5. Comment changer la valeur d'un attribut avec une stylesheet?
    Par BugsBunny dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 02/06/2006, 18h18

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