Bonjour,
Après avoir passé des heures à essayer toutes les solutions que je connais et celles que je trouve sur les forums, je fais appel à tous les spécialistes de Hardware.
Je vous explique mon projet (en PHP):
Je saisis une ville dans un champ input.
Une liste de villes correspondant à ma frappe se déroule en dessous de ce champs input.
Ensuite, quand je clique sur une ville de cette liste, elle doit s'inscrire dans le champ input.
Ca fonctionne, les éléments apparaissent bien comme des liens. Mais quand je clique dessus, mon champ input ne reçoit pas le nom de la ville.
Techniquement :
Mon formulaire simplifié
Code :
- <form action="recherche.php" method="POST">
- <th><input type="text" id="id_handler" name="ville" value="'.$oldville.'" placeholder="entrer la ville'" onkeyup="vachercher();";onblur="this.value=this.value.toLowerCase();" style="text-transform:capitalize;" />';
- echo '</th><tr /><td><div id="div_handler"></div></td>
- </form>
|
j'utilise XMLHttpRequest pour lancer la page PREAFF.php qui accède à la base de données et qui renvoit les éléments de la liste.
Dans cette page
- j'utilise un innerHTML qui affiche la liste.
Code :
- while ($res = mysql_fetch_row($retselect))
- {
- $VIlle = $res[0];
- $x="id_handler";
- // transforme chaque élément de la liste en lien pour ensuite transférer le contenu de la variable $VIlle dans le champs input.
- // $x est le handler défini par l'id de input
- $text.= '<a href="javascript:putininput('.$x.','.$VIlle.');">'.$VIlle.'</a><br>'; // bloody call qui ne fonctionne pas
- }
- // affiche correctement les éléments de la liste
- echo "var oDiv = document.getElementById('div_handler').innerHTML='".$text."';";
|
j'ai essayé d'autres solutions qui ne donnent rien comme :
Code :
- $text.= '<a onclick="javascript:putininput('.$x.','.$VIlle.');">'.$VIlle.'</a><br>';
|
// ne fonctionne pas non plus
La fonction putininput se trouve dans la page de mon formulaire et se présente comme ça :
Code :
- function putininput(id,ville)
- {
- var _id = id;
- var _ville = ville;
- alert(_ville);
- document.getElementById(id).value=_ville;
- }
|
Quand on clique sur un élément lien de la liste, la fonction putininput ne répond pas.
Merci infiniment pour votre aide.
Message édité par gmalatet le 07-01-2015 à 02:18:21