Probleme javascript sous mozilla et google chroom [Résolu]

Signaler
Messages postés
8
Date d'inscription
vendredi 3 décembre 2010
Statut
Membre
Dernière intervention
29 octobre 2012
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
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

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

;O)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
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)
Messages postés
8
Date d'inscription
vendredi 3 décembre 2010
Statut
Membre
Dernière intervention
29 octobre 2012

merci beaucoup mon ami