PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 4 déc. 2010 à 10:34
Bonjour,
il convient tout d'abord d'être un peu plus rigoureux!
plutôt que de long discours je te livre, à partir de façon de faire, une nouvelle écriture de ta fonction Add()
//------------
function Add(){
//-- recup data matiere
var oMat = document.getElementsByName('Matiere')[0];
var iMat = oMat.selectedIndex;
var sMat = document.createTextNode(oMat.options[iMat].text);
//-- recup data day
var oDay = document.getElementsByName('Day')[0];
var iDay = oDay.selectedIndex;
//-- recup data time
var oTime = document.getElementsByName('Time')[0];
var iTime = oTime.selectedIndex;
//-- recup lign insertion
var oLigne = document.getElementsByTagName("table")[1].getElementsByTagName("tr")[iDay + 1];
//-- recup colonne insertion
var oCase;
if (iTime > 1) {
oCase = oLigne.getElementsByTagName("td")[iTime + 2];
}
else {
oCase = oLigne.getElementsByTagName("td")[iTime + 1];
}
//-- affecte la valeur
oCase.appendChild(sMat);
}
tu noteras l'apparition des mots clé var et des ; en fin de ligne, une excellente habitude à prendre.
En vrac:
- l'accés à Matiere en direct n'est valable que pour IE les autres browsers ne seront pas à quoi on fait référence
- même chose pour innerText
- tu peux mettre des IDs pour avoir un accés direct, avec document.getElementById, aux objets
- mettre <script type ="text/javascript"> en lieu et place de <SCRIPT LANGUAGE="JavaScript">, ceci est un détail
- mets toutes tes balises en minuscule ou Majuscule, mais pas un mixte, c'est aussi un détail
- évite l'utilisation des mots "réservés" comme select pour identifier un élément ou une fonction, exemple ta function select()