[javascript/css] Pb bordures tableau dessinées sous IE

Pb bordures tableau dessinées sous IE [javascript/css] - HTML/CSS - Programmation

Marsh Posté le 24-05-2005 à 17:53:51    

Bonjour !
 
J'ai un problème d'affichage au niveau des bordures de tableau.
J'ai 4 tableaux (dans une cellule d'un autre tableau). Chacun de ces 4 tableaux contient un bout de formulaire.
J'aimerais que lorsque l'utilisateur clique sur un champ, les bordures du tableau/formulaire correspondant apparaissent.
 
Je m'y prend ainsi:
 
- bout du fichier scripts.js
 

Code :
  1. var lastFocus;
  2. function setFocus(param){
  3. // si ya un numéro de tableau dans lastFocus, alors ses bordures ne s'affichent plus
  4. switch (lastFocus)
  5. {
  6.  case '1' :
  7.   document.getElementById("tabForm1" ).style.borderStyle = "hidden";
  8.   break;
  9.  case '2' :
  10.   document.getElementById("tabForm2" ).style.borderStyle = "hidden";
  11.   break;
  12.  case '3' :
  13.   document.getElementById("tabForm3" ).style.borderStyle = "hidden";
  14.   break;
  15.  case '4' :
  16.   document.getElementById("tabForm4" ).style.borderStyle = "hidden";
  17.   break;
  18.  default:
  19.   break;
  20. }
  21. lastFocus = param; // Mémorise le numéro de tableau où le champ a été cliqué
  22. // ici on fait apparaitre les bordures d'un tableau en fonction du champs ou l'utilisateur a cliqué
  23. switch (param)
  24. {
  25.  case '1' :
  26.   document.getElementById("tabForm1" ).style.borderStyle = "solid";
  27.   document.getElementById("tabForm1" ).style.borderColor = "#FF6633";
  28.   break;
  29.  case '2' :
  30.   document.getElementById("tabForm2" ).style.borderStyle = "solid";
  31.   document.getElementById("tabForm2" ).style.borderColor = "#FF6633";
  32.   break;
  33.  case '3' :
  34.   document.getElementById("tabForm3" ).style.borderStyle = "solid";
  35.   document.getElementById("tabForm3" ).style.borderColor = "#FF6633";
  36.   break;
  37.  case '4' :
  38.   document.getElementById("tabForm4" ).style.borderStyle = "solid";
  39.   document.getElementById("tabForm4" ).style.borderColor = "#FF6633";
  40.   break;
  41.  default:
  42.   document.getElementById("tabForm1" ).style.borderStyle = "solid";
  43.   document.getElementById("tabForm1" ).style.borderColor = "#FF6633";


 
- code css d'un tableau:
 

Code :
  1. .tableScenario {
  2. font-family: Arial, Helvetica, sans-serif;
  3. font-size: 12px;
  4. color: #444444;
  5. border-style: solid;
  6. border-top: hidden;
  7. border-bottom: hidden;
  8. border-left: hidden;
  9. border-right: hidden;
  10. padding-top: 15px;
  11. width: 160px;
  12. }


 
Sur Firefox ca marche très bien, le moindre clic affiche les bordures du tableau correspondant.
Sous IE, chaque clic affiche les bordures, seulement elles ne sont pas prédessinées, et à chaque clique les champs des tableaux "bougent".
Comment empêcher cela ?
 
Merci d'avance !


Message édité par Pwill le 24-05-2005 à 17:55:18
Reply

Marsh Posté le 24-05-2005 à 17:53:51   

Reply

Marsh Posté le 24-05-2005 à 18:00:00    

ton script corrigé :  
 

Code :
  1. var lastFocus;
  2. function setFocus(param){
  3. // si ya un numéro de tableau dans lastFocus, alors ses bordures ne s'affichent plus  
  4. document.getElementById("tabForm1"+lastFocus).style.borderStyle = "hidden";
  5. lastFocus = param; // Mémorise le numéro de tableau où le champ a été cliqué  
  6. // ici on fait apparaitre les bordures d'un tableau en fonction du champs ou l'utilisateur a cliqué  
  7. document.getElementById("tabForm" + param).style.borderStyle = "solid";
  8. document.getElementById("tabForm" + param).style.borderColor = "#FF6633";
  9. document.getElementById("tabForm" + param).style.borderWidth = "1px";
  10. }


 
et ton style :  
 

Code :
  1. .tableScenario {
  2.     font-family: Arial, Helvetica, sans-serif;
  3.     font-size: 12px;
  4.     color: #444444;
  5.     border: none;
  6.     padding-top: 15px;
  7.     width: 160px;
  8. }

Reply

Marsh Posté le 24-05-2005 à 18:00:48    

essaye ca déjà, ensuite on verra

Reply

Marsh Posté le 25-05-2005 à 09:22:38    

Je te remercie j'essaye ca  ;)

Reply

Marsh Posté le 25-05-2005 à 09:32:15    

Vive le tabless!
Faut arrêter avec les tableaux!
 
-> une remarque qui n'aide pas mais bon...

Reply

Marsh Posté le 25-05-2005 à 10:02:46    

Oui j'attendais la remarque, si j'ai du temps je reprends tout sans...

Reply

Marsh Posté le 25-05-2005 à 10:09:31    

bah si c'est pour afficher des données tabulaires, il faut mieux avoir un tableau. Mais sinon, ben c'est clair ke ca ne sert à rien

Reply

Marsh Posté le 25-05-2005 à 10:25:09    

Code :
  1. .tableScenario { 
  2.      font-family: Arial, Helvetica, sans-serif; 
  3.      font-size: 12px; 
  4.      color: #444444; 
  5.      border: none;
  6.       border-width: 1px;
  7.      padding-top: 15px; 
  8.      width: 160px; 
  9. }


 

Code :
  1. function setFocus(param){
  2.   try {
  3.   document.getElementById("tabForm" + lastFocus).style.borderStyle = "none";
  4.   }
  5.   catch (ex){
  6.   };
  7.   lastFocus = param;
  8.   document.getElementById("tabForm" + param).style.borderStyle = "solid";
  9.   document.getElementById("tabForm" + param).style.borderColor = "#FF6633";
  10.   document.getElementById("tabForm" + param).style.borderWidth = "1px";
  11. }


 
Ca passe bien sour FireFox, seulement sous IE j'ai toujours ce problème de tableaux qui bougent lorsque les bordures apparaissent.
Ils ne sont pas prédessinés j'ai l'impression.

Reply

Marsh Posté le 25-05-2005 à 10:27:21    

Faut dans le style mettre ça :

Code :
  1. .tableScenario {
  2. [...]
  3.   border: 1px solid #fff; // Remplacer #fff par couleur du fond
  4. }


Puis le script :

Code :
  1. function setFocus(param){
  2.   try {
  3.     document.getElementById("tabForm" + lastFocus).style.borderColor = "#fff"; // Couleur du fond de nouveau
  4.   } catch (ex){
  5.   };
  6.   lastFocus = param;
  7.   document.getElementById("tabForm" + param).style.borderColor = "#f63";
  8. }


Message édité par FlorentG le 25-05-2005 à 10:27:34
Reply

Marsh Posté le 25-05-2005 à 10:31:42    

Ca peut être une solution, je la teste.
Mais none et hidden ca sert à quoi ?  
Je pensais que hidden prévoyait la place pour l'objet sans l'afficher. :??:

Reply

Marsh Posté le 25-05-2005 à 10:31:42   

Reply

Marsh Posté le 25-05-2005 à 10:34:54    

Effectivement elle marche à l'identique sur les deux navigateurs, merci Florent ;)

Reply

Marsh Posté le 25-05-2005 à 10:35:27    

edit : grilled
 
salauddd FlorentG
 
/me sort la pelle à clous


Message édité par gatsusat le 25-05-2005 à 10:36:18
Reply

Marsh Posté le 25-05-2005 à 10:37:59    

Celle-là : [:florentg] ? :D

Reply

Marsh Posté le 25-05-2005 à 10:54:51    

ouais je la veut

Reply

Sujets relatifs:

Leave a Replay

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