Probleme javascript sous mozilla et google chroom

Résolu
oussama112 Messages postés 8 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 29 octobre 2012 - 4 déc. 2010 à 00:08
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 4 déc. 2010 à 17:25
j'ai essayer ce code(emploi du temps) avec mozilla et google chroom et j'ai rien obtenu par contre avec IE il a bien marché
voila le code :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>


Emploi du temps



Matière,
Jour,
Séance,
,
,

----

<select name="Matiere">
<option>Technologie Web
<option>Java
<option>UML
<option>Maths
<option>VB
</select>,
<select name="Day">
<option>Lundi
<option>Mardi
<option>Mercredi
<option>Jeudi
<option>Vendredi
<option>Samedi
</select>,
<select name="Time">
<option>08:30-10:00
<option>10:15-11:45
<option>14:00-15:30
<option>15:45-17:15
</select>,

<SCRIPT LANGUAGE="JavaScript">

otr=document.getElementsByTagName("table")[1].getElementsByTagName("tr")
for ( i=1 ; i < 7 ; i++ )
{
otd = otr[i].getElementsByTagName("td")
for(j=1 ; j < 6 ; j++)
{
if(otd[j].addEventListener){
otd[j].addEventListener('mouseover', select, false)
}
else
{
otd[j].attachEvent('onClick', select)
}
}
}

function Add()
{
oMat=document.createTextNode(Matiere(Matiere.selectedIndex).innerText)
oDay=document.createTextNode(Day(Day.selectedIndex).innerText)

if (Time.selectedIndex>1)
{
oCase=document.getElementsByTagName("table")[1].getElementsByTagName("tr")[Day.selectedIndex+1].getElementsByTagName("td")[Time.selectedIndex+2]
}
else
{
oCase=document.getElementsByTagName("table")[1].getElementsByTagName("tr")[Day.selectedIndex+1].getElementsByTagName("td")[Time.selectedIndex+1]
}
oCase.appendChild(oMat)
}

function Drop()
{

oCase=document.getElementsByTagName("table")[1].getElementsByTagName("tr")[Day.selectedIndex+1].getElementsByTagName("td")[Time.selectedIndex+1]
oCase.removeNode()
}
function select()
{
alert()
}

</SCRIPT>
</HTML>


si quelqu'un pouvait m'aider la stp et merci d'avance

3 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
4 déc. 2010 à 17:25
penses donc à mettre en Réponse Acceptée! pour éventuellement en aider d'autres.

;O)
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
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()

Voila pour un début...
;O)
0
oussama112 Messages postés 8 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 29 octobre 2012
4 déc. 2010 à 12:54
merci beaucoup mon ami
0
Rejoignez-nous