Bonjour,
Est-ce que quelqu'un pourrait me dire si il y a une erreur quelconque qui pourrait causer des problèmes d'affichage sous FireFox (alors que sous Internet Explorer c'est parfait) ?
(si il y a d'autres remarques concernant mon code, à par que tout est regroupé dans un seul fichier, je suis preneur)
<script language="JavaScript">
<!--
var nb_lignes_DI;
var cptr_lignes;
var tbody_lignes_DI;
var tableau_lignes_DI = new Array(50);
for(var l=0; l<50; l++)
tableau_lignes_DI[l] = new Array(5);
function init()
{
tbody_lignes_DI = document.getElementById('tbody_lignes_DI');
cptr_lignes = 0;
nb_lignes_DI = 0;
}
function change(){
var choix = document.getElementById('choix');
if(choix.value == 'affiche_pas')
for(var k=0;k<nb_lignes_DI;k++)
{
var ligne = document.getElementById(tableau_lignes_DI[k][0]);
ligne.style.display = 'none';
}
if(choix.value == 'affiche')
for(var k=0;k<nb_lignes_DI;k++)
{
var ligne = document.getElementById(tableau_lignes_DI[k][0]);
ligne.style.display = 'block';
}
}
function ajouter_ligne()
{
// ajout de la ligne au tableau
tableau_lignes_DI[nb_lignes_DI][0] = "ligne"+cptr_lignes;
tableau_lignes_DI[nb_lignes_DI][1] = "ceci est la description n"+cptr_lignes;
tableau_lignes_DI[nb_lignes_DI][2] = 1000;
tableau_lignes_DI[nb_lignes_DI][3] = 1;
tableau_lignes_DI[nb_lignes_DI][4] = tableau_lignes_DI[nb_lignes_DI][2]*tableau_lignes_DI[nb_lignes_DI][3];
// création de la nouvelle ligne
var nouvelle_ligne = document.createElement("tr");
nouvelle_ligne.setAttribute("id",tableau_lignes_DI[nb_lignes_DI][0]);
nouvelle_ligne.style.display = "block";
// description
nouvelle_cellule = document.createElement("td");
text_cellule = document.createTextNode(tableau_lignes_DI[nb_lignes_DI][1]);
nouvelle_cellule.setAttribute("align","left","false");
nouvelle_cellule.appendChild(text_cellule);
// ajout de la cellule description à la ligne
nouvelle_ligne.appendChild(nouvelle_cellule);
// prix unitaire
nouvelle_cellule = document.createElement("td");
text_cellule = document.createTextNode(tableau_lignes_DI[nb_lignes_DI][2]+" €");
nouvelle_cellule.setAttribute("align","right","false");
nouvelle_cellule.appendChild(text_cellule);
// ajout de la cellule prix unitaire à la ligne
nouvelle_ligne.appendChild(nouvelle_cellule);
// quantité
nouvelle_cellule = document.createElement("td");
text_cellule = document.createTextNode(tableau_lignes_DI[nb_lignes_DI][3]);
nouvelle_cellule.setAttribute("align","right","false");
nouvelle_cellule.appendChild(text_cellule);
// ajout de la cellule quantité à la ligne
nouvelle_ligne.appendChild(nouvelle_cellule);
// prix
nouvelle_cellule = document.createElement("td");
text_cellule = document.createTextNode(tableau_lignes_DI[nb_lignes_DI][4]+" €");
nouvelle_cellule.setAttribute("align","right","false");
nouvelle_cellule.appendChild(text_cellule);
// ajout de la cellule prix à la ligne
nouvelle_ligne.appendChild(nouvelle_cellule);
// supprimer
nouvelle_cellule = document.createElement("td");
lien = document.createElement("a");
lien.setAttribute("href","javascript:supprimer_ligne(\"tbody_lignes_DI\",\""+tableau_lignes_DI[nb_lignes_DI][0]+"\")");
text_cellule = document.createTextNode("suppr");
lien.appendChild(text_cellule);
nouvelle_cellule.appendChild(lien);
nouvelle_cellule.setAttribute("align","center","false");
// ajout de la cellule supprimer à la ligne
nouvelle_ligne.appendChild(nouvelle_cellule)
// ajout de la ligne au tableau
tbody_lignes_DI.appendChild(nouvelle_ligne);
cptr_lignes++;
nb_lignes_DI++;
}
function supprimer_ligne(parent, child)
{
// suppression dans le tableau html
var obj = document.getElementById(parent);
var old = document.getElementById(child);
obj.removeChild(old);
// suppression dans le tableau javascript
for(var l=0; l<nb_lignes_DI; l++)
{
if(tableau_lignes_DI[l][0]==child)
{
for(l;l<(nb_lignes_DI-1);l++)
{
tableau_lignes_DI[l][0]=tableau_lignes_DI[l+1][0];
tableau_lignes_DI[l][1]=tableau_lignes_DI[l+1][1];
tableau_lignes_DI[l][2]=tableau_lignes_DI[l+1][2];
tableau_lignes_DI[l][3]=tableau_lignes_DI[l+1][3];
tableau_lignes_DI[l][4]=tableau_lignes_DI[l+1][4];
}
nb_lignes_DI--;
break;
}
}
}
// -->
</script>
<html>
<head>
<title></title>
</head>
<body onload="init()">
<select style="width:265px;" id="choix" name="liste_choix" onchange="change()">
<option value="affiche" selected="selected">Afficher</option>
<option value="affiche_pas">Ne pas afficher</option>
</select>
<CENTER>
<TABLE width=80% border=0 cellspacing=1 cellpadding=5>
<thead id="thead_lignes_DI">
<TR id="ligne_entete" style="display:block">
<TD align=center width=50% bgcolor=#006699><FONT color=#FFFFFF>Description</FONT></TD>
<TD align=center width=15% bgcolor=#006699><FONT color=#FFFFFF>Prix unitaire</FONT></TD>
<TD align=center width=10% bgcolor=#006699><FONT color=#FFFFFF>Quantité</FONT></TD>
<TD align=center width=15% bgcolor=#006699><FONT color=#FFFFFF>Prix</FONT></TD>
<TD align=center width=10% bgcolor=#006699><FONT color=#FFFFFF>Suppression</FONT></TD>
</TR>
</thead>
<tbody id="tbody_lignes_DI">
</tbody>
</TABLE>
</CENTER>
<INPUT TYPE=button NAME=ajouter VALUE="Ajouter" onclick="ajouter_ligne()"><br>
</body>
</html>
Merci d'avance