Salut à tous,
J'ai vraiment besoin d'un coup de main parce que je me prends la tête sur une fonction depuis de longues heures, que c'est surement tout con, et que je ne trouve pas la réponse qui est probablement sous mon nez.
Vous pouvez tester mon script à cette adresse :
-https://www.guide-camping-france.fr/espace-pro/index.php
Passez l'alerte du certificat, c'est normal, je dev sur un serveur en HTTPS et je n'ai pas encore pris le certificat.
En fait, le script comme vous pouvez le voir récupère le nom des villes via ajax, avec la recherche effectuée à partir des codes postaux saisis.
Tout fonctionne parfaitement, sauf un petit souci : si vous tapez un code postal partiel, une liste de ville s'affiche.
- Lorsque vous choisissez un code postal en cliquant dessus, il file dans le input du code postal
- Lorsque vous choisissez une ville en cliquant dessus, elle file dans le input de la ville
L'affichage des résultats est géré, sa disparition au click aussi, et la fonction de tri des résultats également.
Je n'arrive par contre pas à faire en sorte que lorsqu'on clique sur un résultat, que ce soit une ville ou un code postal, on remplisse et mette à jour les 2 champs input, avec le code postal dans le champ du code et la ville dans le champ de la ville.
Je sais pas si je suis clair ???
En fait, il est problématique de ne pas pouvoir ajouter les deux en même temps, parce que si un internaute choisi sa ville dans les résultats après avoir tapé un code postal partiel, le champ code postal n'est pas mis à jour (il reste partiel), et il aura une erreur de format de code postal lors de la validation du formulaire.
Les résultats, après l'envoi en ajax, se présentent dans mon code sous la forme suivante :
<?php
$this -> sResult .= '<div style="border: 1px solid #000000; width: 300px;'.$sColor.'">
<span id="codepost" onclick="document.getElementById(\'code_postal\').value = this.innerHTML; hide(\'divContent\');" style="cursor: pointer; padding-left: 10px; margin: 5px 35px 5px 5px;'.$sColor.'">'.$cp.'</span>
<span id="vil" onclick="document.getElementById(\'ville\').value = this.innerHTML; hide(\'divContent\');" style="cursor: pointer; margin: 5px;'.$sColor.'">' . ucwords ( $aTmpVilles[$clef] ) . '</span>
</div>';
?>
on a un div, sans lequel se trouvent 2 span, avec respectivement l'affichage des code postaux dans le premier, et des villes dans le second (je précise que ce code se trouve dans une boucle foreach)
onclick="document.getElementById(\'code_postal\').value = this.innerHTML; me renvoi bien la valeur du code postal dans l'input code_postal lorsque l'on clique dessus
onclick="document.getElementById(\'ville\').value = this.innerHTML; me renvoi bien la valeur de la ville dans l'input ville lorsque l'on clique dessus
Je voudrais tout simplement renvoyer les deux dans leurs input respectifs lorsque l'on clique sur l'un ou l'autre, tout simplement, ce que je n'arrive pas à faire...
Si vous avez une soluce, je suis preneur...
Merci de votre aide.