AJAX récupérer les valeurs d'un lien

Fermé
cjean123 - 7 juil. 2010 à 11:56
 cjean123 - 7 juil. 2010 à 14:57

PHP 5, MySQL 5

Bonjour,

J'ai le problème suivant :

En AJAX j'ai créé une liste de communes en fonction du choix d'un chef lieu de circonscription. Il y a un lien sur chaque commune de la liste pour récupérer le code postal et le nom de la ville du lien cliqué.
Ma liste qui est créée dans une balise DIV s'affiche bien (comme je l'ai voulu) à l'évènement 'OnFocus' du champ texte CP (ID et nom : 'txt_cp') et Ville(ID et nom : 'txt_ville') et s'efface à l'évènement 'OnBlur'.
En revanche quand je clique sur la commune en question, je ne récupère pas sa valeur dans les contrôles.

Voici la fonction Javascript de la page principale :

function affecte_cp_ville(cp,ville){
	alert('CP = ' +cp+ '\nVille = ' +ville);
	document.getElementById('txt_cp').value    = cp;
	document.getElementById('txt_ville').value = ville;
}


Voici un extrait du code source HTML créé
<a href='javascript:affecte_cp_ville("97411", "BOIS DE NEFLES SAINT PAUL");'>97411 BOIS DE NEFLES SAINT PAUL</a>
<br />
<a href='javascript:affecte_cp_ville("97423", "LE GUILLAUME");'>97423 LE GUILLAUME</a>
<br />
<a href='javascript:affecte_cp_ville("97428", "MAFATE");'>97428 MAFATE</a>
<br />
<a href='javascript:affecte_cp_ville("97434", "SAINT GILLES LES BAINS");'>97434 SAINT GILLES LES BAINS</a>
<br />
<a href='javascript:affecte_cp_ville("97435", "SAINT GILLES LES HAUTS");'>97435 SAINT GILLES LES HAUTS</a>


Vous aurez remarqué que la première ligne de ma fonction 'affecte_cp_ville()' affiche une alerte renvoyant les valeurs.
Cette alerte ne s'affiche même pas.

D'avance, un grand merci à qui pourra apporter une solution.

Cordialement.
A voir également:

5 réponses

Absinthe06 Messages postés 102 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 7 juillet 2010 11
7 juil. 2010 à 12:16
salut,

essaye de remplacer tes liens par
<a href='#' onclick='javascript:affecte_cp_ville("97423", "LE GUILLAUME");'>97423 LE GUILLAUME</a>
;)
0
Merci Absinthe06

Mais ...
Je viens d'essayer : cela ne fonctionne pas.
Même l'alerte ne s'affiche pas.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 7/07/2010 à 12:32
Salut.
Dans l'attribut onclick, "javascript:" n'est pas obligatoire.
Évite de mettre des guillemets simples pour tes attributs.
<a href='#' onclick="affecte_cp_ville('97423', 'LE GUILLAUME'); return false;">97423 LE GUILLAUME</a>

Si ça ne fonctionne toujours pas, ouvre la console de ton navigateur (Ctrl+Maj+J)
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
0
Merci avion-f16,

Mais pour précision, le nom de villes (le 2e argument de la fonction 'affecte_cp_ville") peut contenir un apostrophe (ex: SAINT CYR L'ECOLE) dans ce cas, cela fait planter tout le lien car la chaîne de caractère serait fermée et le javascript contiendrait une erreur de syntaxe.

Dès le début, j'ai ouvert la console ainsi que les outils de développement (sous IE8) mais c'est de l'AJAX et la liste des communes est générée dans une page PHP externe.

Même sous FireFox il est difficile d'observer le comportement de l'AJAX.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

J'ai trouvé : tout fonctionnait à merveille y compris le javascript.

Le Hic était l'évènement onBlur qui fermait la liste avant même l'évènement onClick de celle-ci.
0