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 26/05/2011, 15h45   #1
Nouveau Membre du Club
 
Homme
Informatique
Inscription : mai 2011
Messages : 112
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Informatique
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 112
Points : 36
Points : 36
Par défaut Recupération d'informations

Bonjour à tous,

Je viens ici car ça fait un petit moment que je bloque sur ce problème et j'espère que l'un de vous pourra m'éclairer.
Le code qui suit permet de récupérer des adresses mail associé à un id particulier. Tout ceci est stocké dans un tableau. Là où je bloque c'est au niveau de ma seconde boucle for j'y ai placé des alert() pour voir où le programme s'arréter et j'en ai déduis qu'il ce stoppé au niveau de la seconde boucle. Je vous demande donc un peu d'aide sur ce coup. merci d'avance à vous
Code :
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
 
if(typeof(variableId[<%=RS_SC("idcategory")%>]) == 'undefined')
		{
			variableId.push([<%=RS_SC("idcategory")%>]);
			variableId[<%=RS_SC("idcategory")%>] = new Array();
		}
		else
		{
			variableId[<%=RS_SC("idcategory")%>].push('<%=RS_SC("email")%>');
		}
	<%
		RS_SC.movenext
		loop
	%>
 
	//	Tableau permettant de récupérer simplement les email en leurs associant un id quelconque
	var tabEmail = new Array()
 
	for(ident in opener.tabTemporaire)
	{
		alert("dsfd");
		for(i = 0 ; i < variableId[ident].length ; i++)
		{
			tabEmail.push(variableId[ident][i]) ;	
			alert("dsfd");
		}
	}
beber005 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 15h47   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 009
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 009
Points : 45 093
Points : 45 093
Il serait plus intéressant de voir le html js généré ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 16h01   #3
Nouveau Membre du Club
 
Homme
Informatique
Inscription : mai 2011
Messages : 112
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Informatique
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 112
Points : 36
Points : 36
Code html :
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
<BODY>
<!--Ce div permet de positionner le bandeau en haut de la page -->
<div class="image">
	<!--Ce div permet de positionner le logo airbus-->
	<div align="bottom" class="logoAirbus" >
	</div>
</div>
<!--Ce div correspond la répétition du fond de la  Newsletter-->
<!--Ce div est scrollable si texte trop grand-->
<div class="fond" id="texteScrollable">
	<!--Celui-ci affiche la bordure de séparation en haut -->
	<div class="bordureDuHaut">
	</div>
	<div id="texte">
	<p><b>Dear all,</b></p>	
	<script language="javascript">
		//	Boucle qui me permet de prévisualiser le contenu de ma Newsletter
		for(identifiant in opener.tabTemporaire)
		{
			document.write('<font color="#000066">'+'<b>'+'</br>'+opener.tabTemporaire[identifiant]['name']+'</b>'+'</font>'+" :"+'</br>'+'<dd>'+'<strong>'+opener.tabTemporaire[identifiant]['message']+'</strong>'+'</br>');
		}
	</script>
	</div>
</div>
<!--Le formulaire permet la redirection de la page lors de l'appel de la popup via la method POST-->
<form method=post action="email.php">
<!--Ce div correspond la répétition du fond de la  Newsletter--> 
<div class="finDuFond">
	<!--Ce div  affiche la bordure de séparation en bas-->
	<div class="bordureDuBas">
	</div>
	<!--Ce div correspond au bouton envoyer-->
	<div id="bouton_send">
		<input type="submit" value="Send Newsletter" onclick="sendMail();"/>
		<input type="hidden" value="chaineContenantTabEmail"/>
		<!-- Cette Action sur le clic du bouton permet de quitter le preview-->
		<input type="button" value="Cancel" onclick="window.close();"/>
	</div>
</div>	
</form>
</BODY>
</HTML>
beber005 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 18h54   #4
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 756
Points : 5 756
Bonsoir,

Il faudrait voir la définition de tabTemporaire et vérifier si variableId contient bien ce que vous désiriez car on dirait que vous êtes dans une JSP mais je ne suis pas certain que le tableau soit bien initialisé.

De plus, j'en connais plusieurs qui vous dirons qu'il ne faut pas utiliser document.write mais plutôt les méthodes DOMiesques.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 21h45   #5
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 803
Points : 35 803
Euh... c'est normal que les codes de tes deux posts n'aient rien à voir ???
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 08h48   #6
Nouveau Membre du Club
 
Homme
Informatique
Inscription : mai 2011
Messages : 112
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Informatique
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 112
Points : 36
Points : 36
Salut merci de vos réponses,

Oui bovino me suis chié quand j'ai posté le second code. Celui que j'ai posé est le corps de ma popup. Elle représente en fait la newsletter que je dois envoyer à X personnes en appuyant sur un boutton envoyer.
variableId contient bien ce que je veux c'est à dire l'ensemble des adresses email que je récupère depuis ma BD

Voici ce contient tabtemporaire :

Code :
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
function add()
	{
		//	Vérifie si l'élément existe déjà dans le tableau
		//	 Si l'élément n'existe pas il est rajouté au tableau
 
		if(typeof(tabTemporaire[document.formadmintool.selection.value]) == 'undefined')
		{
		//	Crée le tableau temporaire qui stocke en "temps réel" les changements effectués au niveau du message par défaut		
		tabTemporaire[document.formadmintool.selection.value] = new Array();
		tabTemporaire[document.formadmintool.selection.value]['name'] = tabContenantToutesCategories[document.formadmintool.selection.value]['name'];
		tabTemporaire[document.formadmintool.selection.value]['message'] = tabContenantToutesCategories[document.formadmintool.selection.value]['message'];
		tabTemporaire['all']['message']="";
		//	Le 1er attributs permets d'afficher la catégories dans la liste des catégories choisies
		//	Le second attributs lui, permet d'afficher le texte par défaut dans le textearea	
			option = new Option(tabContenantToutesCategories[document.formadmintool.selection.value]['name'],document.formadmintool.selection.value,false,true);
			document.formadmintool.select1.options[document.formadmintool.select1.length] = option;				
			document.formadmintool.textarea1.value = tabTemporaire[document.formadmintool.selection.value]['message'];
		//	Permet de récupérer les valeurs passées dans la page
			//document.write('<input name="msg_id" value="document.formadmintool.textarea1.value ">');
		}
 
		//	Sinon on affiche un message d'erreur indiquant que l'élément existe déjà
		else
		{
			alert("Vous avez déjà sélectionné cette catégorie ! \n \n Veuillez en saisir une autre !");
		}
	}
beber005 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 10h26   #7
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 beber005 Voir le message
Oui bovino me suis chié quand j'ai posté le second code.
... me disais aussi

Sinon, pas crucial, mais en passant : réindentation correcte plus mini-factorisation + localisation de la variable implicite intempestive "option" =
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function add() {
   // Vérifie si l'élément existe déjà dans le tableau
   // Si l'élément n'existe pas il est rajouté au tableau
 
   var selval = document.formadmintool.selection.value;
   if (typeof (tabTemporaire[selval]) == 'undefined') {
      // Crée le tableau temporaire qui stocke en "temps réel" les changements effectués au niveau du message par défaut      
      tabTemporaire[selval] = new Array();
      tabTemporaire[selval]['name'] = tabContenantToutesCategories[selval]['name'];
      tabTemporaire[selval]['message'] = tabContenantToutesCategories[selval]['message'];
      tabTemporaire['all']['message']="";
      // Le 1er attributs permets d'afficher la catégories dans la liste des catégories choisies
      // Le second attributs lui, permet d'afficher le texte par défaut dans le textearea   
      var option = new Option(tabContenantToutesCategories[selval]['name'], selval, false, true);
      document.formadmintool.select1.options[document.formadmintool.select1.length] = option;            
      document.formadmintool.textarea1.value = tabTemporaire[selval]['message'];
      // Permet de récupérer les valeurs passées dans la page
      //document.write('<input name="msg_id" value="document.formadmintool.textarea1.value ">');
   }
   else {// Sinon on affiche un message d'erreur indiquant que l'élément existe déjà
      alert("Vous avez déjà sélectionné cette catégorie ! \n \n Veuillez en saisir une autre !");
   }
}
__________________

...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 27/05/2011, 10h49   #8
Nouveau Membre du Club
 
Homme
Informatique
Inscription : mai 2011
Messages : 112
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Informatique
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 112
Points : 36
Points : 36
Bon j'ai réussi à me démerder et à trouver la solution, je l'affiche pour ce que ça pourra aider plus tard. En tout cas merci de m'avoir répondu les gars =)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
var tabEmail = new Array()
 
	//	ident permet de parcourir tabTemporaire
	for(ident in opener.tabTemporaire)
	{
		//	identifiant all n'existe pas dans la BD
		//	s'il n'est pas renseigné alors on exécute la boucle
		if(ident != "all")
		{
			for(i = 0 ; i < variableId[ident].length ; i++)
			{			
				//	j'ajoute à la fin au tableau tabEmail les email associé à l'identifiant de la catégorie en cours
				tabEmail.push(variableId[ident][i]) ;	
			}			
		}
	}
Le problème venait du fait que j'ai crée une catégorie "all" qui n'existe pas réellement dans ma BD. Donc je fais un test pour voir et voilà
beber005 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 16h51.


 
 
 
 
Partenaires

Hébergement Web