Oups, mille pardon je me suis trompé de post... laisse c'est bon.
ERE
Oups, mille pardon je me suis trompé de post... laisse c'est bon.
ERE
Quand une tête pense seule, elle devient folle.
Pas de problème !
Je vais pas t'en vouloir en plus avec le mal que tu te donnes pour moi !
Cela marche parfaitement chez moi
Ci-joint le zip du test mené. Tu peux l'exécuter sur ton server.
ERE
Quand une tête pense seule, elle devient folle.
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 ?
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]
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.
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 ?
Page test_autocomplete2.php :
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
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>
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 } } ?>
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.
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
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager