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 :

showMondialDialog() dans un tableau créé par JS


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut showMondialDialog() dans un tableau créé par JS
    Bonjour a Tous,

    Je vous écris car je rencontre un problème.
    Comment ? Rien d'étonnant me direz vous?
    Oui effectivement.

    Donc j'ai une page qui me permet de créer un tableau en fonction de filtre date (année et mois). Donc après sélection d'un ou plusieurs filtre, un petit coup d'ajax, je récupère mes valeurs de BDD, et je créer un tableau avec les élément dedans.

    Jusque la tout fonctionne. Je tiens a précisé que je N'utilise PAS Jquery, je fais tout avec mes petites mains histoire de m'amuser un peu.

    Allons bon je m'égare, mon probleme maintenant, et bien comme vous avez pu le voir dans le titre je désire quand je click sur le nom de l'un de mes candidats ( oui mon tableau me sort les candidat du test par année grace au filtre), je voudrai donc ouvrire une fenetre fille qui enleve le focus de la mere et qui m'affiche des information plus complete sur mon candidat.

    J'utilise donc la fonction showMondialDialog() , patience je vais copier mon code, et mon pour se faire j'ai besoin de mettre un onclick dans le <td> qui contiens le nom, mais je n'y arrive pas pour cause mon <td> est généré par JS

    Voici ma fonction que je veux appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function infoCandidat(theId)
    		{
    			var ret;
    			ret = showMondialDialog("info_can.php","","status=no; center=yes; dialogWidth=400px; dialogHeight=410px; help:no; scroll:yes;");
    		}
    Ici je vous met ma fonction qui creer mon tableau n'oublier pas mon tableau est bien creer et je recoit bien mon xml :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    function readData(oData) 
    		{
    			$("tableau").innerHTML = "";
    			var nodes   = oData.getElementsByTagName("noeud");
     
    			for (var i=0; i<nodes.length;i++) {
    				leId = nodes[i].getElementsByTagName("id")[0].firstChild.nodeValue;
    				leNom = nodes[i].getElementsByTagName("Nom")[0].firstChild.nodeValue;
    				lePrenom = nodes[i].getElementsByTagName("prenom")[0].firstChild.nodeValue;
    				laSpecialite = nodes[i].getElementsByTagName("specialite")[0].firstChild.nodeValue;
    				leScore = nodes[i].getElementsByTagName("score")[0].firstChild.nodeValue;
    				leSeuil = nodes[i].getElementsByTagName("seuil")[0].firstChild.nodeValue;
     
     
    				td1 = document.createElement("td");
    				td2 = document.createElement("td");
    				td3 = document.createElement("td");
    				td4 = document.createElement("td");
    				td5 = document.createElement("td");
     
    				td1.id= leId;
    				td1.onclick="infoCandidat();";//j'essaye d’insérer le js au td ici
     
    				td1.appendChild(document.createTextNode(leNom));
    				td2.appendChild(document.createTextNode(lePrenom));
    				td3.appendChild(document.createTextNode(laSpecialite));
    				td4.appendChild(document.createTextNode(leScore));
    						if(leScore >= leSeuil)
    						{ laDecision = "Reçu"; }
    						else
    						{ laDecision = "Recalé"; }
    				td5.appendChild(document.createTextNode(laDecision));
     
    				monTr = document.createElement("tr");// on creer une balise
     
     
    				monTr.appendChild(td1);
    				monTr.appendChild(td2);
    				monTr.appendChild(td3);
    				monTr.appendChild(td4);
    				monTr.appendChild(td5);
     
    				$("tableau").appendChild(monTr);
    			}
    		}
    certain d'entre vous la reconnaîtrons peut être vous m'avez aider a la faire fonctionner maintenant juste au cas ou mon code html :
    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
     
    <table >
    				<thead>
    					<tr id="titre"  style="border:1px solid black">
    						<th style="border:1px solid black;width:100px;">Nom</th>
    						<th style="border:1px solid black;width:100px;">prenom</th>
    						<th style="border:1px solid black;width:100px;">specialite</th>
    						<th style="border:1px solid black;width:100px;">Score</th>
    						<th style="border:1px solid black;width:100px;">Decision</th>
    					</tr>
    				</thead>
    				<tbody id="tableau" >
    				</tbody>
     
    			</table>
    Voila Merci d'avance pour l'aide que vous pourrez m'apporter
    Je reste a votre disposition pour de plus amples informations..

  2. #2
    Invité
    Invité(e)
    Par défaut
    pas sur d'avoir bien suivi mais si je me trompe pas c'est de cette endroit dont il est question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    td1.onclick="infoCandidat();"
    sa doit se faire de cette facon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    td1.onclick=infoCandidat;

    par contre si tu a besoin d'une reference a l'element la solution est de passer par une fonction anonyme et utilise le mot this

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    td1.onclick=function(){infoCandidat(this)};

  3. #3
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    La méthode c'est showModalDialog, ça ne peut pas être mondial vu que c'est connu uniquement de Internet Explorer (ton script ne marchera donc pas sur Opera, Firefox, Chrome, Safari, ... même avec la fonction correcte).

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Merci pour vos reponse
    Effectivement je me suis rendu compte du modal au lieu du mondial, visiblement firefox a l'air de le faire fonctionner.

    cela fonctionne effectivement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    td1.onclick=infoCandidat;

    cependant comme je désire lui passer ceci comme paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    leId = nodes[i].getElementsByTagName("id")[0].firstChild.nodeValue;
    Dois je faire comme vous avez dis en passant par une fonction temporaire?

    merci d'avance pour vos précieuse réponse

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var nodes   = oData.getElementsByTagName("noeud");
    j'addooore


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    je voudrai donc ouvrire une fenetre fille qui enleve le focus de la mere et qui m'affiche des information plus complete sur mon candidat.
     
    J'utilise donc la fonction showMondialDialog()
    là je tombe de ma chaise

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Je sent un certain sarcasme !
    qui a t'il de si drôle?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/04/2013, 23h56
  2. [MySQL] left outer join et concaténation dans un tableau passe par if mais pas par else ?
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 08/04/2008, 15h09
  3. [MySQL] Faire une recherche dans un tableau créer par mysql_fetch_array avec in_array
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 12/11/2007, 15h13
  4. Réponses: 18
    Dernier message: 17/01/2007, 12h49
  5. URGENt: recherche dans un tableau trié par ordre alphabetiqu
    Par JulPop dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2005, 17h21

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