[resolu] afficher/masquer fonctionne pas sous firefox

afficher/masquer fonctionne pas sous firefox [resolu] - HTML/CSS - Programmation

Marsh Posté le 01-10-2010 à 14:24:21    

Bonjour,
Je suis nouveau sur la liste alors ma question vous paraîtra peut être évidente. :pfff:  
J'ai fais un script pour masquer/afficher des div avec des boutons radio, ça fonctionne sous ie mais rien sous firefox (ni chrome)  :cry:  
merci de votre aide  :bounce:  
 
voici le code

Code :
  1. <HTML>
  2. <HEAD>
  3. <!-- Menu  html/js/ex/5.bk Hiding Table Columns -->
  4. <link rel="stylesheet" type="text/css" href="../../default.css">
  5. <TITLE>JavaScript - Hiding Table Columns</TITLE>
  6. <style type="text/css">
  7. #progmenu { position:absolute; top:0; left:0; visibility:hidden; }
  8. #miscmenu { position:absolute; top:0; left:0; visibility:hidden; }   
  9. .TitleMenu { width:110; }
  10. .TitleMenuItem { }
  11. </style>
  12. <script language="javascript">
  13. var showMode = 'block';//'table-cell';
  14. if (document.all) showMode='block';
  15. function toggleVis(radio){
  16.   name=radio;
  17. radio   = document.forms['tcol'].elements[radio];
  18. for(j = 0; j < radio.length; j++){
  19.     if (radio[j].checked){
  20.       max=j;
  21.     }
  22.   }
  23.     for (k=0;k<4;k++){
  24.       cells = document.getElementsByName('div'+radio[k].value);
  25.    if (max!=4){
  26.     if (k==max)
  27.         mode  = showMode;
  28.       else
  29.         mode  = 'none';
  30.       }else{
  31.         mode  = showMode;
  32.       }
  33.    for(j = 0; j < cells.length; j++)
  34.         cells[j].style.display=mode;
  35.   }
  36. }
  37. </script>
  38. </HEAD>
  39. <BODY MARGINWIDTH=0 MARGINHEIGHT=0 onload="init()">
  40. <form name="tcol" onsubmit="return false">
  41. <table border=0 bgcolor="#ffeecc">
  42. <tr><td>
  43. Show columns
  44. <input type=radio name="col1" value="col1" onclick="toggleVis(this.name)"> 1
  45. <input type=radio name="col1" value="col2" onclick="toggleVis(this.name)"> 2
  46. <input type=radio name="col1" value="col3" onclick="toggleVis(this.name)"> 3
  47. <input type=radio name="col1" value="col4" onclick="toggleVis(this.name)"> 4
  48. <input type=radio name="col1" value="all" onclick="toggleVis(this.name)" checked> all
  49. </td></tr>
  50. </table>
  51. </form>
  52. <div id="divcol1" style="border: 2px solid rgb(209, 29, 67); padding: 5px; margin-top: 5px;">
  53.       <p>#1 : Ici mon texte</p>
  54. </div>
  55. <div id="divcol2" style="border: 2px solid rgb(209, 29, 67); padding: 5px;">
  56.       <p>#2 : Ici mon texte</p>
  57. </div>
  58. <div id="divcol3" style="border: 2px solid rgb(209, 29, 67); padding: 5px;">
  59.       <p>#3 : Ici mon texte</p>
  60. </div>
  61. <div id="divcol4" style="border: 2px solid rgb(209, 29, 67); padding: 5px;">
  62.       <p>#4 : Ici mon texte</p>
  63. </div>
  64. </BODY>
  65. </HTML>
  66. </head>


Message édité par tucdual le 04-10-2010 à 09:40:23
Reply

Marsh Posté le 01-10-2010 à 14:24:21   

Reply

Marsh Posté le 01-10-2010 à 16:15:25    

Heu, c'est peut-être parce que nous sommes en 2010, et que document.all n'est plus utilisé depuis 10 ans (et surtout ne fonctionne que sous IE)

Reply

Marsh Posté le 01-10-2010 à 18:49:19    

David Boring a écrit :

Heu, c'est peut-être parce que nous sommes en 2010, et que document.all n'est plus utilisé depuis 10 ans (et surtout ne fonctionne que sous IE)


Sans doute mais même sans cette ligne rien sous firefox  :??:

Reply

Marsh Posté le 03-10-2010 à 08:54:59    

Bonjour
Voici la solution :

Code :
  1. <script langage="Javascript">
  2. <!--
  3. function load(x)
  4. {
  5. if (x == 1)
  6. {
  7. document.getElementById('test1').innerHTML = "#1 : Ici mon texte";
  8. exit;
  9. }
  10. if (x == 2)
  11. {
  12. document.getElementById('test1').innerHTML = "#2 : Ici mon texte";
  13. exit;
  14. }
  15. if (x == 3)
  16. {
  17. document.getElementById('test1').innerHTML = "#3 : Ici mon texte";
  18. exit;
  19. }
  20. if (x == 4)
  21. {
  22. document.getElementById('test1').innerHTML = "#1 : Ici mon texte<br>#2 : Ici mon texte<br>#3 : Ici mon texte";
  23. exit;
  24. }
  25. }
  26. //-->
  27. </script>
  28. <table bgcolor="black">
  29. <tr>
  30. <td><font color="yellow">#1 :<input type=radio OnClick="load(1);" name="col"></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
  31. <td><font color="yellow">#2 :<input type=radio OnClick="load(2);" name="col"></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
  32. <td><font color="yellow">#3 :<input type=radio OnClick="load(3);" name="col"></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
  33. <td><font color="yellow">all :<input type=radio OnClick="load(4);" name="col"></font></td>
  34. </tr>
  35. </table>
  36. <br><span id="test1"></span>


 
Fais en bon usage !
Ensuite tu vois pour les <div> : document.getElementById('test1').innerHTML = "<div id='Mondiv'></div>";
@++


Message édité par cetplus le 03-10-2010 à 09:00:22
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed