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 :

Modifier le contenu d'une cellule dynamiquement


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut Modifier le contenu d'une cellule dynamiquement
    Bonjour,

    J'ai un tableau HTML dans lequel certaines cellules contiennent des "select".
    J'essaie de mettre à jour via javascript les valeurs d'un select, sans y parvenir.

    Ma fonction javascript CFdel() créé un nouvelle élément select afin de remplacer celui existant en supprimant les options qui étaient sélectionnées.
    Lors de replaceChild j'ai une erreur. J'ai fais un display du parentNode pour voir si j'avais le bon ID.
    Malheureusement voici ce que j'ai
    sous IE
    Sous FF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    object HTMLTableCellElement
    Dans le console d'erreur de FF j'ai un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur*: uncaught exception: [Exception... "Could not convert JavaScript argument arg 1 [nsIDOMHTMLTableCellElement.replaceChild]"  nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)"  location: "JS frame :: file:///D:/CP%20TOOL/DEV_OLD/TEST/aera.html :: CFdel :: line 128"  data: no]
    J'imagine que c'est parce que le parentnode n'est pas bon, mais je ne vois pas comment le récupérer.

    Voici en exemple de mon code qui constitue la table contenant l'élément select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Msg= '<table border=0 cellscaping=0 >'
    			+ '<tr><td colspan="3" align="center"><a style="font-family:verdana;font-weight:bold;font-size:11px;color:navy;">Datacenter Ressources</a></td></tr>' 
    			+ '<tr><td><a style="font-family:verdana;font-size:11px;color:navy;">Avaliable CPC</a></td><td><td><a style="font-family:verdana;font-size:11px;color:navy;">Avaliable LPAR</a></td></tr>'
    			+ '<tr><td rowspan="2" id="selcpc">'
    			+ '<select id="smfCPC" size="8" multiple style="width:200px" title="Avaliable CPC">';
    			for (i=0;i<TabCPC.length;i++) {
    				Msg +='<option value="'+ TabCPC[i] + '">'+TabCPC[i]+'</option>';
    			}
    			Msg += '</select>'
    			+ '</td><td>'
    ....
    ....
    La fonction qui devrait remplacer l'élément select.
    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
     
    function CFdel(Action) {
     if (Action=='delCPC') {
    	var Div ='smfCPC';
     } else {
    	var Div ='smfLPAR';
     }
     var NbNotSelect=0;
     var option='';
     var NotSelected = new Array();
     var SourceSelect = document.getElementById(Div);
     for (i=0;i<SourceSelect.options.length;i++) {
    	 if (!SourceSelect.options[i].selected) {
    		NotSelected[NbNotSelect]= SourceSelect.options[i].value;
    		NbNotSelect++;
    	 }
     }
     var NewSelect = document.createElement('select');
    	 NewSelect.id = Div;
    	 NewSelect.style.width = "200px";
    	 NewSelect.size ="8";
    	 NewSelect.multiple ="true";
     for (i=0;i<NbNotSelect;i++) {
    	option = document.createElement('option');
    	option.value = NotSelected[i];
    	option.appendChild(document.createTextNode(NotSelected[i]));
    	NewSelect.appendChild(option);
     }
     var include = document.getElementById(Div).parentNode;
      alert(include);
    	include.replaceChild(NewSelect,Div);
    }
    Un petit coup de main m'aiderai beaucoup car je ne vois pas mon erreur

    Merci
    S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 82
    Points
    82
    Par défaut
    Bonjour,

    Je peux t'aider sur un point, pour voir ce que te donne le parentNode il faut faire ça te permettra de voir le code de ta variable.

    Bon courage

    Socki

  3. #3
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Erreur d'inattention de ma part, l'objet source du replaceChild n'était pas le bon..

    Merci
    S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

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

Discussions similaires

  1. [LibreOffice][Tableur] Modifier le contenu d'une cellule aptès MeFC
    Par fransix dans le forum OpenOffice & LibreOffice
    Réponses: 21
    Dernier message: 16/11/2013, 12h07
  2. Modifier le contenu d'une cellule d'un tableau dynamiquement
    Par SPACHFR dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/08/2009, 16h45
  3. Comment modifier le contenu d'une cellule excel avec C#
    Par roujij dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/08/2009, 14h18
  4. modifié le contenu d'une cellule d'un fichier EXCEL
    Par john_wili dans le forum Documents
    Réponses: 0
    Dernier message: 26/01/2009, 11h34
  5. modifier le contenu d'une cellule
    Par STEPH69000 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/06/2006, 17h12

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