IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Recupération d'informations


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Informatique
    Inscrit en
    Mai 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 133
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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");
    		}
    	}

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Il serait plus intéressant de voir le html js généré ...
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Homme Profil pro
    Informatique
    Inscrit en
    Mai 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 133
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    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.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre confirmé
    Homme Profil pro
    Informatique
    Inscrit en
    Mai 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 133
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !");
    		}
    	}

  7. #7
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !");
       }
    }

  8. #8
    Membre confirmé
    Homme Profil pro
    Informatique
    Inscrit en
    Mai 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 133
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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à

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recupérer une information sur le port serie d'un ordi
    Par franck SEFIC dans le forum Composants VCL
    Réponses: 29
    Dernier message: 29/01/2008, 18h24
  2. [C# (1.1)] Recupération d'informations
    Par notalp dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/10/2006, 11h49
  3. Réponses: 4
    Dernier message: 23/07/2006, 20h42
  4. Recupération d'information sur les filtres
    Par Alpha31 dans le forum Access
    Réponses: 2
    Dernier message: 16/06/2006, 22h35
  5. connexion Ldap et recupération d'information
    Par lechatmagik dans le forum ASP
    Réponses: 13
    Dernier message: 31/10/2005, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo