Bonjour,
Je rencontre un nouveau problème suite aux soucis que j'ai eu pour récupérer dynamiquement le contenu de champs <input> dans un formulaire.
Tout fonctionne bien pour les <input>, mais je n'arrive pas à sélectionner (selected = 'selected') automatiquement une ligne d'une liste déroulante.
Voici le code de ma page "insertion_contact.php" :
Et ma page "autocompleter_auto.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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 <tr> <td>Nom</td> <td style="background: #b1b294; color: #333;"> <input type="text" name="nom" id="nom" tabindex="40" size="10" onfocus="this.className='focus';" onblur="goPrenom(),goNegociateur()" /> <div id="auto_noms"></div> <script type="text/javascript"> new Ajax.Autocompleter ( 'nom', 'auto_noms', 'autocompleter_noms.php', {method: 'post', paramName: 'nom'} ); </script> </td> </tr> <tr> <td>Prénom</td> <td style="background: #b1b294; color: #333;"> <input type="text" name="prenom" id="prenom" tabindex="50" size="0" onfocus="this.className='focus';" onblur="this.className='normal';" /> <script type="text/javascript"> function goPrenom(){ new Ajax.Request('autocompleter_auto.php?champ=prenom', { method: 'post', parameters: "nom_contact=" + document.getElementById("nom").value, onSuccess: function(transport) { document.getElementById("prenom").value=transport.responseText; } // onSuccess } // options ); // Ajax.Request } // function goPrenom </script> </td> </tr> <tr> <td>* Négociateur</td> <td style="background: #b1b294; color: #333;"> <div id="negociateur"> <select name="negociateur" tabindex="130"> <script type="text/javascript"> function goNegociateur(){ new Ajax.Request('autocompleter_auto.php?champ=negociateur', { method: 'post', parameters: "nom_contact=" + document.getElementById("nom").value, onSuccess: function(transport) { document.getElementById("negociateur").value=transport.responseText; } // onSuccess } // options ); // Ajax.Request } // function goNegociateur </script> <?php $result = mysql_query("SELECT id_negociateur, prenom_negociateur, nom_negociateur FROM t_gestion_contacts_negociateurs ORDER BY id_negociateur"); echo '<option value="">Choix</option>'; while ($data = mysql_fetch_array($result)) { echo '<option value="'.$data[0].'">'.$data[1]." ".$data[2]; echo '</option>'."\n"; } ?> </select> </div> </td> </tr>
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
46
47
48
49
50
51
52
53
54
55 <?php include ('../fonction_connexion.php'); $nom_recupere = $_POST["nom_contact"]; $requete = mysql_query("SELECT * FROM t_gestion_contacts WHERE t_gestion_contacts.nom_contact = '$nom_recupere'"); $requete_nego_complete = mysql_query("SELECT id_negociateur, prenom_negociateur, nom_negociateur FROM t_gestion_contacts_negociateurs ORDER BY id_negociateur" ); $requete_nego_selectionne = mysql_query("SELECT * FROM t_gestion_contacts, t_gestion_contacts_negociateurs WHERE t_gestion_contacts.idx_negociateur = t_gestion_contacts_negociateurs.id_negociateur AND t_gestion_contacts.nom_contact = '$nom_recupere'" ); if ($_GET["champ"] == 'prenom') { if (isset($nom_recupere)) { while($row = mysql_fetch_assoc($requete)) { echo $row['prenom_contact']; break; //peut pas avoir plusieurs prénoms sinon 1 N aberrant } } } elseif ($_GET["champ"] == 'negociateur') { echo "<select name='negociateur'>"; if (isset($nom_recupere)){ echo '<option value="">Choix</option>'; while ($row = mysql_fetch_assoc($requete_nego_selectionne)) { /*echo '<option value="'.$row['id_negociateur'].'">'.$row['id_negociateur']." ".$row['id_negociateur']; echo '</option>'."\n";*/ while ($data = mysql_fetch_array($requete_nego_complete)) { if ($data[0] == $row['idx_negociateur']) { $selected = "selected = 'selected'"; } else { //$selected = ""; } echo '<option value="'.$data[0].'" "'.$selected.'">'.$data[1]." ".$data[2]; echo '</option>'."\n"; } } } else { echo '<option value="">Choix</option>'; while ($data = mysql_fetch_array($requete_nego_complete)) { echo '<option value="'.$data[0].'">'.$data[1]." ".$data[2]; echo '</option>'."\n"; } } echo "</select>"; } ?>
Partager