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 :

Introduire une cellule th avec insert.Cell


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Par défaut Introduire une cellule th avec insert.Cell
    Bonjour, ou bonsoir.

    J'ai, dans une page HTML, un bouton select qui me permet de charger un document XML dans un tableau HTML, lui même dans un <div id="destination">. Mon code est le suivant :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form name="formulaire">
    	<select name="select">
    		<option value="catalog1">Catalogue 1</option>
    		<option value="catalog2">Catalogue 2</option>
    	</select>
    	<input type="button" value="Regarder" onclick="verification()" />
    	<input type="text" name="result" style="display:none;"/>
    </form>
    <div id="destination"></div>

    Enfin, bon, ce n'est pas très important, ce qui compte, c'est le code JS :
    Code JavaScript : 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
    47
    48
    49
    50
    function verification()
    {
    	var noeud = document.getElementById('destination');
    	while (noeud.childNodes.length>0) {
    	noeud.removeChild(noeud.firstChild);}
    	formulaire.result.value = formulaire.select.value+".xml";
    	if (window.XMLHttpRequest)
    	{// code for IE7+, Firefox, Chrome, Opera, Safari
    	xmlhttp=new XMLHttpRequest();
    	}
    	else
    	{// code for IE6, IE5
    	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    	}
    	xmlhttp.open("GET",formulaire.result.value,false);
    	xmlhttp.send();
    	xmlDoc=xmlhttp.responseXML; 
    	// endroit on l'on va ajouter la TABLE
    	var oDest = document.getElementById('destination');
    	// Eléments manipulés
    	var oText, oCell, oRow, oTable = document.createElement('TABLE');
    	var x=xmlDoc.getElementsByTagName("CD");
    	oRow  = oTable.insertRow(); //Nouvelle ligne
    	oCell = oRow.insertCell(); //On y insère la première cellule.
    	oCell.setAttribute('colspan', 4); //On la met en colspan 2.
    	oText = document.createTextNode(formulaire.select.value);	 //On écrit dedans.
    	oCell.appendChild( oText); //Et on l'envoie.
     
    	for (i=0;i<x.length;i++) {
    	oRow  = oTable.insertRow();
     
    	oCell = oRow.insertCell();
    	oText = document.createTextNode(i);	
    	oCell.appendChild( oText);
     
    	oCell = oRow.insertCell();
    	oText = document.createTextNode(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);	
    	oCell.appendChild( oText);
     
    	oCell = oRow.insertCell();
    	oText = document.createTextNode(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);	
    	oCell.appendChild( oText);
     
    	oCell = oRow.insertCell();
    	oText = document.createTextNode(x[i].getElementsByTagName("PRICE")[0].childNodes[0].nodeValue);	
    	oCell.appendChild( oText);
    	}
    	// ajout TABLE créée
    	oDest.appendChild( oTable);
    }

    mais voilà, à la ligne 30 (oCell = oRow.insertCell(); //On y insère la première cellules.), j'aimerai mettre une cellule th ou bien pouvoir lui mettre un id (pour la modifier avec les styles CSS).

    Pouvez-vous m'aider à cela ? Merci beaucoup d'avance !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    effectivement insertCell crée une TD, il va te fallloir, si tu souhaites une TH la créer et l'ajouter via les méthodes createElement et appendChild. Attention toutefois à faire l'append sur une TBODY.

    Si le soucis est simplement de pouvoir lui appliquer un style particulier alors le CSS est suffisant, regarde du coté du sélecteur :first-child.

  3. #3
    Membre confirmé
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Par défaut
    Je vous remercie, c'est que vrai je n'avais pas penser au sélecteur :first-child...
    Je n'approfondi pas le JS, dans ce cas.
    Merci encore !

    Résolu.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/06/2012, 16h13
  2. Remplir une cellule Excel avec une condition sous vb
    Par enibris dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2008, 13h47
  3. export d'une cellule numérique avec 0 de gauche
    Par pilpoil dans le forum Excel
    Réponses: 5
    Dernier message: 24/08/2007, 08h05
  4. mise en forme d'une cellule ajouter avec insertRow
    Par vacknov dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/07/2007, 08h33
  5. Comment lire le contenu en arabe d'une cellule excel avec
    Par deneche dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/03/2006, 10h01

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