Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/08/2011, 19h38   #1
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Par défaut Passage d'une variable JS dans fonction dans innerHTML

Bonjour à tous,

J'ai un petit problème qui doit être tout bête.
J'ai la fontion suivante :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function showNational(val,ville){
	var national_post_val=val;
	var new_class="show_national_only";
	if(national_post_val==1)
	{
		showVille(0,ville);
		setBodyClass(new_class);
					document.getElementById('href_content9').innerHTML='<div id="national">National</a>';
	}
        if(national_post_val==0)
	{
		removeBodyClass(new_class);					
					document.getElementById('href_content9').innerHTML='<a href="javascript:void(0)" id="national" onClick="showVille(1,'+ville+')">Voir le National</a>';
	}
}
function showVille(val,ville){
alert(ville);
}

Avec cette technique là, lorsque j'affiche la variable ville dans showVille, il me met "undefined"
Comment faut-il que j'inscrive la variable ville dans la ligne ?
Code :
document.getElementById('href_content9').innerHTML='<a href="javascript:void(0)" id="national" onClick="showVille(1,'+ville+')">Voir le National</a>';
Merci d'avance.
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 22h00   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Comment est fait l'appel à la fonction showNational ? Il faudrait voir le second param...
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 22h19   #3
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
L'appel est fait de la manière suivante : showNational(1,"Paris");
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 22h33   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
Bonsoir,
il te faut mettre des quotes autour de la variable pour que ce soit le contenu et non la référence qui soit prise en compte
Code :
document.getElementById('href_content9').innerHTML='<a href="javascript:void(0)" id="national" onClick="showVille(1,\''+ville+'\')">Voir le National</a>';
essaies cela
Code :
1
2
3
4
5
6
function showVille( index, nom){
  alert( nom);
}
var Paris = "SALUT de la variable Paris!"
var ville = "Paris"
document.getElementById('href_content9').innerHTML='<a href="javascript:void(0)" id="national" onClick="showVille(1,'+ville+')">Voir le National</a>';
ici c'est ton code.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 09h03   #5
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Merci pour ce retour, mais malheureusement cela ne marche toujours pas.
J'ai toujours la valeur "undefined".

J'ai essayé en mettant des doubles quotes plutot que des simples quotes, mais le résultat est le même.

Voilà ma ligne de code :
Code :
document.getElementById('href_content9').innerHTML='<a href="javascript:void(0)" id="national" onClick="showVille(1,\''+ville+'\')">Voir le National</a>';
ou
Code :
document.getElementById('href_content9').innerHTML='<a href="javascript:void(0)" id="national" onClick="showVille(1,\"'+ville+'\")">Voir le National</a>';;
Dans ces 2 cas lorsque je clique sur le lien, cela me renvoie undefined.

Quelle pourrait être la méthode pour débugguer ? Je ne comprends pas grand chose au JS, donc j'avance par tâtonnement mais je ne sais pas trop comment faciliter le debugage.
Merci pour votre aide.
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 09h46   #6
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Citation:
Envoyé par Pierrick81 Voir le message
Quelle pourrait être la méthode pour débugguer ? Je ne comprends pas grand chose au JS, donc j'avance par tâtonnement mais je ne sais pas trop comment faciliter le debugage.
>>> Firebug, mode d'emploi. ^^
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 09h53   #7
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Merci pour ce retour.
Je connais Firebug, mais je ne comprends pas comment il peut m'aider sur le Javascript.
En l'occurrence, je voudrai savoir ici ce qu'il affiche dans le hrefcontent généré par le JS ?

Merci d'avance.
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 11h09   #8
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Citation:
Envoyé par Pierrick81 Voir le message
Je connais Firebug, mais je ne comprends pas comment il peut m'aider sur le Javascript.


Tu l'utilises donc uniquement pour le DOM ? ou pour autre chose ? ^^ C'est très dommage... jette un oeil aux onglets script et console
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 11h31   #9
Membre habitué
 
Homme
Étudiant
Inscription : mai 2011
Messages : 226
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 226
Points : 126
Points : 126
Ayant trouvé l'onglet script un peu obcure au début, je me permets deux trois commentaires :
dans l'onglet script, tu as une box qui te permet de choisir le fichier à débugguer (js ou html à priori).

Ensuite, choisis une ligne qui s'exécutera juste avant ce que tu veux observer. Clique dans la marge pour mettre un breakpoint.

Recharge ta page.

les flèches en haut à droite de l'onglet te permettent alors de parcourir tes instructions pendant que la petite fenêtre tout à droite te donne l'état exact des variables

Bonne chance
Sharcoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h19   #10
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Oui, et tu peux également, dans ton éditeur de code habituel, placer ceci : debugger; pour mettre des breakpoint où tu veux, puis relancer ta page ^^ (de mémoire je crois que c'est de dukej que j'avais appris la combine je trouve ça pratique)
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h29   #11
Membre habitué
 
Homme
Étudiant
Inscription : mai 2011
Messages : 226
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 226
Points : 126
Points : 126
Stylé ça ! Merci Romain !
Sharcoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 19h12   #12
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Effectivement grace à vous j'ai découvert cette fonctionnalité de Firebug, et cela aide plutôt pas mal

MERci.
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h05.


 
 
 
 
Partenaires

Hébergement Web