11548 sujets

JavaScript, DOM et API Web HTML5

Salut,

voici un lien vers la page qui me pose problème :
http://twale.free.fr/yatoo/yatoo_last_version/xhtml_iframe/
Ca se passe dans la section "art".
Sous firefox ça passe.
Sur ie je fais une alerte pour afficher le code généré dynamiquement
pour la première case. Apparemment le code est bien généré mais il
semblerait que seule la table s'affiche...

Vous pourriez m'aider ?

Thanks !

EDIT : Voici le lien vers le fichier js :
http://twale.free.fr/yatoo/yatoo_last_version/xhtml_iframe/library/js/tablo_progressif.js
Modifié par <wared> (12 Feb 2007 - 19:25)
Hello,

Je n'ai pas compris ton problème.

Le comportement m'a l'air équivalent sous FF et IE 6/7.

Pourrais-tu s'il te plaît expliquer plus précisément ce dont il s'agit et si possible isoler ton problème ?
Salut,
Le fichier n'est plus le même.
J'ai finalement trouvé une alternative.
Après debug, il semblerait que cela vienne
de la nature de l'élément créé, en l'occurence
l'élément table. Il ne s'affiche pas sous ie avec
createElement("TABLE") et appendChild().
Il doit y avoir une syntaxe particulière que
je ne connais pas.
J'ai donc opté pour un emboitement de div.

Si vous avez une solution avec les tables...

Merci en tout cas !
Modifié par <wared> (13 Feb 2007 - 17:52)
voilà une solution pour créer une table de nbrows lignes et nbcols colonnes avec thead, tfoot et tbody. Des alternatives permettent de mettre ou non des bordures et une légende. Les valeurs de nbrows et nbcols sont lues dans des zones de texte d'un formulaire

function createTable(nbrows,nbcols){
  // tbody 
  	
   		var tbody = document.createElement("tbody");
  		for(var i = 0,k=0; i < nbrows; i++,k++){
    		var tr = document.createElement("tr");
    		for (var j = 0; j < nbcols; j++){
      			var td = document.createElement("td");
      			var text = "Mon texte ici";
      			text = document.createTextNode(text);
      			td.appendChild(text);
      			td.setAttribute("id" , "td"+k)
			if (document.forms[0].bordures[0].checked == true)
					td.setAttribute("style" , "border : solid blue 1px")
      			tr.appendChild(td);
    		}
    		tbody.appendChild(tr);
  		}
  // thead et tfoot
  	var thead   = document.createElement("thead");
  	var tfoot   = document.createElement("tfoot");
  	var trTitle = document.createElement("tr");
   	if (document.forms[0].entete[0].checked == true){
  		for (var j = 0; j < nbcols; j++){
    		var th = document.createElement("th");
    		th.appendChild(document.createTextNode("colonne " + j));
    		if (document.forms[0].bordures[0].checked == true)
					th.setAttribute("style" , "border : solid blue 1px")

    		trTitle.appendChild(th);
  		}
  		thead.appendChild(trTitle.cloneNode(true));
  		tfoot.appendChild(trTitle.cloneNode(true));
  	}

  //legende
  var caption       = document.createElement("caption");
  var caption_text  = "ceci est un tableau de "+nbrows;
  caption_text += " lignes et de"+nbcols +" colonnes";
  caption_text = document.createTextNode(caption_text);
  caption.appendChild(caption_text);

  //table
  var table   = document.createElement("table");
  table.appendChild(caption);
  table.appendChild(thead);
  table.appendChild(tfoot);
  table.appendChild(tbody);
  //liaison entre table et le document
  document.getElementById("content").appendChild(table);
}


bon courage