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

AJAX Discussion :

[AJAX] Remplissage de champs automatique


Sujet :

AJAX

  1. #41
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Oups, mille pardon je me suis trompé de post... laisse c'est bon.

    ERE
    Quand une tête pense seule, elle devient folle.

  2. #42
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 33
    Points
    33
    Par défaut
    Pas de problème !
    Je vais pas t'en vouloir en plus avec le mal que tu te donnes pour moi !

  3. #43
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Cela marche parfaitement chez moi

    Ci-joint le zip du test mené. Tu peux l'exécuter sur ton server.

    ERE
    Fichiers attachés Fichiers attachés
    Quand une tête pense seule, elle devient folle.

  4. #44
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 33
    Points
    33
    Par défaut
    Punaise, ça marche en effet, quel tabanas je suis !!

    Par contre, quand j'affiche en alerte la variable "$_POST['nom_contact']", ça me donne "document.getElementById("nom").value" au lieu de me donner la valeur, c'est pour ça que ça ne fonctionnait pas.

    Comment faire pour transmettre la valeur ?

  5. #45
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 33
    Points
    33
    Par défaut
    J'avais remplacé les doubles quotes qui entourent nom_contact par des simples quotes.
    j'ai remis les doubles quotes, et ça me retourne bien une valeur, mais pas exactement ce que je souhaite.

    Le problème vient de l'autocomplétion.

    Si par exemple, pour un client dont le nom est "TERKI", si je tape juste "TE" et que je sélectionne son nom dans la liste, j'obtiens comme valeur du nom_contact dans l'alerte : "TE"

    Et du coup il ne me trouve pas le prénom correspondant.

    Par contre, si je tape le nom en entier, il me retourne bien son prénom, mais précédé du nom !! Comme ceci : "TERKIYannis"
    [edit] Ca, ça vient juste du fait que j'avais laissé un echo du nom... Ne pas en tenir compte[/edit]


  6. #46
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Ce n'est pas possible. Tout simplement.

    Renvoie le code complet que tu utilises maintenant, il doit y avoir une grosse bêtise.

    ERE
    Quand une tête pense seule, elle devient folle.

  7. #47
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 33
    Points
    33
    Par défaut
    Ca doit être sur le onchange qu'il faut jouer, ne pas changer tant qu'il n'a pas récupéré la variable du nom complète, mais comment ?

  8. #48
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 33
    Points
    33
    Par défaut
    Page test_autocomplete2.php :

    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
    <script type="text/javascript" src="../../scripts/prototype.js"></script>
    <script type="text/javascript" src="../../scripts/scriptaculous.js"></script>
     
    </head>
     
    <body>
    	<form me="">
    		<fieldset>
    			<legend>Champs liés</legend>
    				<label>Nom contact</label>
    					<input type="text" name="nom" id="nom" onchange='goPrenom()' />
    						<div id="auto_noms"></div>
    							<script type="text/javascript">
    								new Ajax.Autocompleter (
    									'nom',
    									'auto_noms',
    									'autocompleter_noms.php',
    									{method: 'post', paramName: 'nom'}
    								);
    							</script>
     
    				<label>Prénom contact</label>
    					<input type="text" name="prenom" id="prenom" />
    						<div id='auto_prenom'>
    							<script type="text/javascript">
    								function goPrenom(){
    									new Ajax.Request('ajax_autocomplete2.php', {
    										method: 'post',
    										parameters: "nom_contact=" + document.getElementById("nom").value,
    										onSuccess: function(transport) {
    											alert(transport.responseText);
    											document.getElementById("prenom").value=transport.responseText;
    										} // onSuccess
    									} // options
    									); // Ajax.Request
    								} // function goPrenom
    							</script>
    						</div>
    		</fieldset>
    	</form>
    </body>
     
    </html>
    Page ajax_autocomplete2.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    $nom_recupere = $_POST["nom_contact"];
     
    if(isset($nom_recupere)) {
            include ('../fonction_connexion.php');
            $res = mysql_query("SELECT * FROM t_gestion_contacts WHERE nom_contact = '$nom_recupere'");
            while($row = mysql_fetch_assoc($res)) {
                    //echo "<input type='text' value='".$row["prenom_contact"]."' />";
                    echo $row["prenom_contact"];
                    break; //peut pas avoir plusieurs prénoms sinon 1 N aberrant           
            }
    }
    ?>

  9. #49
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Non, car dans ce cas tu aurais une valeur vide pour ton "nom".
    Mais c'est vrai que tu devras penser à ça aussi

    Chaque chose en son temps...

    ERE
    Quand une tête pense seule, elle devient folle.

  10. #50
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 33
    Points
    33
    Par défaut
    J'ai remplacé le "onchange" par un "onblur" et ça a l'air de fonctionner !
    Bon maintenant il me reste à faire la même chose avec l'adresse, le téléphone et l'email du client, mais ça devrait rouler !

    En tout cas merci pour tout

  11. #51
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Le onblur est généré quand la zone perd le focus.
    Le onchange est généré quand la zone perd le focus ET que son contenu a été modifié. Peut-être que quand tu testais les données avaient été déjà été remises par ton navigateur à partir du cache ?

    Bon dev,

    ERE
    Quand une tête pense seule, elle devient folle.

  12. #52
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Points : 33
    Points
    33
    Par défaut
    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/06/2016, 20h13
  2. [AC-2003] Remplissage d'un champ automatiquement
    Par jmsamson dans le forum Access
    Réponses: 1
    Dernier message: 30/03/2011, 11h25
  3. [AC-2003] Remplissage de champs automatique dans formulare
    Par Lafouine4478 dans le forum IHM
    Réponses: 15
    Dernier message: 17/02/2011, 15h45
  4. [AJAX] remplissage des champs a partir d'une donne dans un autre champ
    Par zied.ellouze dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/02/2009, 10h07
  5. [AJAX] Remplissage automatique d'un champ à partir d'un évênement
    Par joss91 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/01/2008, 18h10

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