Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2529 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème avec firefox et IE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec firefox et IE

n°2111676
didoa
Posté le 16-11-2011 à 10:25:59  profilanswer
 

Bonjour,
 
Pourriez-vous me dire pourquoi le code suivant marche pour chrome et safari et pas sur firefox et IE ?
Je cherche depuis plusieurs jours, tenté plein de changements, mais je suis débutante en javascript et je sèche complètement. Merci de votre aide.
 
<html>
<body>
 
<html >
 
 <head>
 
  <title>Démineur</title>
   
  <script type="text/javascript" language=javascript>
   
 
 
 function choixprop(formulaire){
  if (formulaire.choix[0].checked) { A=10};
  if (formulaire.choix[1].checked) { A=20};
  if (formulaire.choix[2].checked) { A=30};
  fonction1()
 }
   
 
 function fonction1(){  
  //création d'un tableau
  aTab=new Array(A);
  for (i=0;i<A;i++){aTab[i]=new Array(10)}      
  for(i=0;i<A;i++)
  {  
   for(j=0;j<10;j++)
   {
   aTab[i][j]=j;
   }
  }
 bTab=new Array(A);
  for (i=0;i<A;i++){bTab[i]=new Array(10)}      
  for(i=0;i<A;i++)
  {  
   for(j=0;j<10;j++)
   {
   bTab[i][j]='"  "';
   }
  }
   
   
  //Affichage du tableau  
  document.write("<div style=position:relative;left:450px;>" )
  document.write("<form name=form method=post action=>" )
  document.write("<table  width=265 height=380 border=4  cellspacing=2><TR>" );
     for (i=0; i<A; i++)  
   {  
  document.write("<TR>" );
  for(j=0;j<10;j++)
  {  
   u=100*i+j;
   document.write("<TD>"+"<input id="+u+" type=button value='  '  ondblClick='affichevaleur("+i+","+j+","+u+" )' onclick='affichecouleur("+i+","+j+","+u+" )' >"+"</TD>" );
  }
 }
 
 document.write("</div></tr>" )
 document.write("</TR></table></form></div>" );
}
   
  // fonction pour changer le style  
  function style(B,id){
  switch (B) {
  case 0 : document.getElementById(id).setAttribute('style','background-color:#0099FF; color:#66CC00;font-weight:bold; font-size:large')
  break
  case 1 : document.getElementById(id).setAttribute('style','background-color:#0066FF; color:#FF9933;font-weight:bold; font-size:large')
  break
  case 2:  document.getElementById(id).setAttribute('style','background-color:#0033FF ; color:#FF6600;font-weight:bold; font-size:large')
  break
  case 3 : document.getElementById(id).setAttribute('style','background-color:#0000FF; color:#FF3366;font-weight:bold; font-size:large')
  break
  default : document.getElementById(id).setAttribute('style','background-color:#000099; color:#FF0000;font-weight:bold; font-size:large')
  break}
  }
   
  function affichecouleur(a,b,id){
  switch (bTab[a][b]){
  case '"  "' :
  document.getElementById(id).setAttribute('value',"*" );
  document.getElementById(id).setAttribute('style','background-color:#000055; color:white;font-weight:bold; font-size:large')
  bTab[a][b]=1;
  break
  case 1 :
  document.getElementById(id).setAttribute('value',"?" );
  document.getElementById(id).setAttribute('style','background-color:grey; color:white;font-weight:bold; font-size:large')
  bTab[a][b]=2;
  break
  case 2 :
  document.getElementById(id).setAttribute('value','  ');
  document.getElementById(id).setAttribute('style','background-color:default; font-weight:default; font-size:default')
  bTab[a][b]='"  "';
  break
  }
  }
   
 
  function affichevaleur(a,b,id) {
  document.getElementById(id).setAttribute('value',aTab[a][b]);
  style(aTab[a][b],id);
   }
   
   
document.write("Entrez votre choix :" )
document.write("<FORM NAME='formulaire'>" )
document.write("<INPUT TYPE='radio' NAME='choix' VALUE="+1+"> 10 lignes<BR>" )
document.write("<INPUT TYPE='radio' NAME='choix' VALUE="+2+"> 20 lignes<BR>" )
document.write("<INPUT TYPE=radio NAME='choix' VALUE="+3+"> 30 lignes<BR>" )
document.write("<INPUT TYPE=button NAME=but VALUE='Quel est votre choix ?' onClick='choixprop(formulaire)'>" )
document.write("</FORM> " )
   
   </SCRIPT>  
 
 
 </head>  
 
</html>
</body>

mood
Publicité
Posté le 16-11-2011 à 10:25:59  profilanswer
 

n°2112063
Thibaud73
Posté le 17-11-2011 à 12:32:22  profilanswer
 

Bonjour didoa.
 
Tout d'abord qu'est censé afficher ton code ?
Ensuite, est-ce que javascript est activé dans Firefox et IE ?
(Firefox : Outils / Options / onglet Contenu)
(IE : euh...)

n°2112068
didoa
Posté le 17-11-2011 à 12:51:38  profilanswer
 

Bonjour,
 
Oui, javascript est bien activé. Mon code affiche un tableau qui peut avoir un nombre différents de lignes selon le choix de l'utilisateur, puis il doit afficher des choses différentes dans chacune des cases selon que l'on clique ou double clique sur cette case.  
Cordialement

n°2112418
didoa
Posté le 19-11-2011 à 20:26:29  profilanswer
 

Je pense avoir essayé tout ce que je pouvais, mais je n'ai toujours aucune idée de pourquoi ça ne marche pas. Personne pour m'aider ?
 
Merci

n°2112487
SICKofitAL​L
misanthrope
Posté le 20-11-2011 à 15:52:55  profilanswer
 

De un, ton code est crado. J'entends par là que il y a plusieurs fois le tag html, et le body est ouvert trop tôt, etc, ...
Ensuite, tes premier document.write se déclenchent trop tôt, avant que le dom ne soit chargé, ce qui a pour effet d'écraser ton code.

 

Laisses moi un peu de temps, je nettoie et je poste ;)


Message édité par SICKofitALL le 20-11-2011 à 15:53:14

---------------
We deserve everything that's coming...
n°2112494
didoa
Posté le 20-11-2011 à 16:53:18  profilanswer
 

Oui, je suis d'accord, j'ai tout nettoyé, mis les documents.write dans le body html quand c'est possible, mais ça ne marche pas mieux. Merci de ton aide !

n°2112530
SICKofitAL​L
misanthrope
Posté le 20-11-2011 à 22:11:08  profilanswer
 

voilà le code, qui fait la même chose que ce que tu avais avant (je pense du moins :D) :

Code :
  1. <html>
  2. <head>
  3. <title>Démineur</title>
  4. <script type="text/javascript">
  5.  //--------------------------------------------------------------------------------------------------------------
  6.  var aTab,
  7.   bTab,
  8.   //----------------------------------------------------------------------------------------------------------
  9.   genTableau = function (taille)
  10.   {
  11.    //création d'un tableau
  12.    var ta = [],
  13.     tb = [],
  14.     html = [];
  15.    for (var i = 0; i < taille; i++)
  16.    {
  17.     ta[i] = [];
  18.     tb[i] = [];
  19.     for (var j = 0; j < taille; j++)
  20.     {
  21.      ta[i].push (j);
  22.      tb[i].push ("  " );
  23.     }
  24.    }
  25.    //Affichage du tableau
  26.    html.push ("<div style='position: relative; left: 450px;'>" );
  27.     html.push ("<table border='4' cellspacing='2'>" );
  28.     for (var i = 0; i < taille; i++)
  29.     {
  30.      html.push ("<tr>" );
  31.      for (var j = 0; j < taille; j++)
  32.      {
  33.       var id = i + "|" + j; // on "sauve" i et j
  34.       html.push ("<td>" );
  35.        html.push ("<input id='" + id + "' type='button' value='  ' ondblClick='afficheValeur (this)' onclick='afficheCouleur (this)' />" );
  36.       html.push ("</td>" );
  37.      }
  38.      html.push ("</tr>" );
  39.     }
  40.     html.push ("</table>" );
  41.    html.push ("</div>" );
  42.    document.getElementsByTagName ('body')[0].innerHTML = html.join ("" );
  43.    return [ ta, tb ];
  44.   },
  45.  //--------------------------------------------------------------------------------------------------------------
  46.  // fonction pour changer le style
  47.  style = function (val, el)
  48.   {
  49.    switch (val)
  50.    {
  51.     case 0:
  52.      el.setAttribute ('style', 'background-color:#0099FF; color:#66CC00;font-weight:bold; font-size:large');
  53.      break;
  54.     case 1:
  55.      el.setAttribute ('style', 'background-color:#0066FF; color:#FF9933;font-weight:bold; font-size:large');
  56.      break;
  57.     case 2:
  58.      el.setAttribute ('style', 'background-color:#0033FF ; color:#FF6600;font-weight:bold; font-size:large');
  59.      break;
  60.     case 3:
  61.      el.setAttribute ('style', 'background-color:#0000FF; color:#FF3366;font-weight:bold; font-size:large');
  62.      break;
  63.     default:
  64.      el.setAttribute ('style', 'background-color:#000099; color:#FF0000;font-weight:bold; font-size:large');
  65.      break;
  66.    }
  67.   },
  68.  //--------------------------------------------------------------------------------------------------------------
  69.  afficheCouleur = function (el)
  70.   {
  71.    var values = el.id.split ("|" ), // on "retrouve" i et j
  72.     i = values[0],
  73.     j = values[1];
  74.    switch (bTab[i][j])
  75.    {
  76.     case "  ":
  77.      el.value = "*";
  78.      el.setAttribute ('style', 'background-color: #000055; color: white; font-weight: bold; font-size: large');
  79.      bTab[i][j] = 1;
  80.      break;
  81.     case 1:
  82.      el.value = "?";
  83.      el.setAttribute ('style', 'background-color: grey; color: white;font-weight: bold; font-size: large');
  84.      bTab[i][j] = 2;
  85.      break;
  86.     case 2:
  87.      el.value = '  ';
  88.      el.setAttribute ('style', 'background-color: default; font-weight: default; font-size: default');
  89.      bTab[i][j] = '  ';
  90.      break;
  91.     default:
  92.      break;
  93.    }
  94.   },
  95.  //--------------------------------------------------------------------------------------------------------------
  96.  afficheValeur = function (el)
  97.   {
  98.    var values = el.id.split ("|" ), // on "retrouve" i et j
  99.     i = values[0],
  100.     j = values[1];
  101.    el.value = aTab[i][j];
  102.    style (aTab[i][j], el);
  103.   },
  104.  //--------------------------------------------------------------------------------------------------------------
  105.  choixProp = function (btn)
  106.   {
  107.    var taille = 10, // valeur par défaut
  108.     choix = btn.form.choix;
  109.    if (choix[0].checked)
  110.    {
  111.     taille = 10
  112.    }
  113.     else if (choix[1].checked)
  114.     {
  115.      taille = 20
  116.     }
  117.      else if (choix[2].checked)
  118.      {
  119.       taille = 30
  120.      }
  121.    var t = genTableau (taille);
  122.    aTab = t[0];
  123.    bTab = t[1];
  124.   };
  125.  // =============================================================================================================
  126.  window.onload = function ()
  127.   {
  128.    var html = [];
  129.    html.push ("Entrez votre choix :" );
  130.    html.push ("<form name='formulaire'>" );
  131.    for (var i = 1; i <= 3; i++)
  132.    {
  133.     html.push ("<input TYPE='radio' name='choix' value='" + (i * 10) + "' />" + (i * 10) + " lignes" );
  134.    }
  135.    html.push ("<input type='button' name='but' value='Quel est votre choix ?' onClick='choixProp (this)' />" );
  136.    html.push ("</form>" );
  137.    document.getElementsByTagName ('body')[0].innerHTML = html.join ("<br/>" );
  138.   }
  139. </script>
  140. </head>
  141. <body>
  142. </body>
  143. </html>


 
Attention aux variables globales, aux point-virgules en fin de ligne, à la disposition de tes tags, etc...
 
Si t'as un soucis hésites pas ;)


---------------
We deserve everything that's coming...
n°2112540
didoa
Posté le 20-11-2011 à 23:43:11  profilanswer
 

Génial !! Merci beaucoup !!!! Je désespérais de trouver une solution à mon problème ! Il ne me reste plus qu'à étudier ce que tu as fait dans le détail et je vais pouvoir en savoir un peu plus sur javascript ! Merci encore


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème avec firefox et IE

 

Sujets relatifs
probleme lightbox IE firefox operaMenu positionnement différent sur IE et Firefox + Problème de bordure
Probleme prise en charge Tableaux IE/Chrome/Firefox/Operaprobleme de modele sou firefox mais pas sous IE [voir fin post ]
probleme IE - site EXTENSIBLE -- site d'archiProbleme de compatibilite entre IE et Firefox
AJAX : problème de compatibilité IE / Firefoxproblème de positionnement entre IE et FireFox ...
Probleme de compatibilité IE / FireFox, vraiment besoin d'aide !Problème sur IE mais pas sur Firefox
Plus de sujets relatifs à : Problème avec firefox et IE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR