Bonjour.
Je suis en train de réaliser un site où il faut s'inscrire.
La première page, nommée 'index.php', comporte des fonctions javascript et jQuery, dont celles-ci :
Dans cette page 'index.php', il y a un lien qui, quand on clique, ouvre un div avec la fonction 'win'. Ici, on appelle une page (disons, par exemple, la page 'compte.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 function win(name) { $(document).ready(function() { $('#affichage').fadeIn('slow'); $('#affichage').load(name+'.php'); }); } function modif(name) { $(document).ready(function() { if (document.getElementById('modif_'+name).style.display=='none') $('#modif_'+name).fadeIn('slow'); else $('#modif_'+name).fadeOut('slow'); }); } function valid_change(name) { $('#modif_'+name).fadeOut('slow'); if (document.getElementById('change_'+name).value) $.post("change_compte.php", {"valeur": document.getElementById('change_'+name).value, "champ": name}, function(data) { $('#compte_'+name).html(data); }); } function lookup(ville) { if (ville.length == 0) { $('#suggestions').hide(); } else { $.post("func/rpc.php", {"queryString": ville}, function(data){ if (data.length >0) { $('#suggestions').show(); $('#autoSuggestionsList').html(data); } }); } } function fill(valeur) { $('#change_ville').val(valeur); $('#suggestions').hide(); }
Dans cette page 'compte.php', il y a le code suivant (j''ai effacé le superflu pour plus de lisibilité) :
Quand on clique sur [MODIFIER], ça fait apparaître le champ "change_ville". Quand on commence à insérer des caractères de la ville, une liste de suggestions apparaît car je fais appel à la page rpc.php à chaque fois qu'un caractère est tapé :
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 <?php echo "<table> <tr> <td valign='top'><div align='right'><b>Ma ville :</b></div></td> <td valign='top'><div id='compte_ville'>$r[ville]</div><br /> <div id='modif_ville' style='display: none'> <input type='text' id='change_ville' class='cadre' size='12' maxlength='60' OnClick=\"this.value='';\" onkeyup=\"lookup(this.value);\" onblur=\"fill();\" /> <input type='button' value='ok' class='plein' OnClick=\"valid_change('ville')\"/><br /> <div class='suggestionsBox' id='suggestions' style='display: none;'> <img src='img/upArrow.png' style='position: relative; top: -12px; left: 30px;' /> <div class='suggestionList' id='autoSuggestionsList'> </div> </div> </div> </td> <td valign='top'><a href=\"#\" OnClick=\"modif('ville')\">[MODIFIER]</a></td> </tr> </table>";
La page rcp.php est la suivante :
Tout s'affiche bien mais le problème est que quand je clique sur la suggestion que je souhaite, ce qui appelle la fonction 'fill', la variable n'est pas reconnue et le champ 'change_ville' ne se complète pas ...
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 <?php $db = mysql_connect('blabla','blabla','blabla') or die ("erreur de connexion"); mysql_select_db('blabla',$db) or die ("erreur de connexion base"); if(!$db) { echo 'Erreur ! Impossible de se connecter à la base de données.'; } else { if(isset($_POST['queryString'])) { $queryString = addslashes($_POST['queryString']); if(strlen($queryString)>3) { $query_ville = mysql_query("SELECT * FROM codes_postaux WHERE ville LIKE '$queryString%' LIMIT 20"); if($query_ville) { while ($r_ville = mysql_fetch_array($query_ville)) { echo "<li onClick=\"fill('".$r_ville[code_postal]." ".$r_ville[ville]."');\">".$r_ville[ville]." (".$r_ville[code_postal].")</li>"; } } else { echo 'Erreur ! Il y a un problème avec la requête ...'; } } else {} } else { echo 'Vous ne pouvez pas avoir accès directement à ce script ...'; } } ?>
J'ai beau chercher depuis des heures, je ne vois pas pourquoi ...
Je sais que c'est bien compliqué quand on est étranger au code, mais si par hasard un expert passait par là, ça m'aiderait bien![]()
Partager