IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Un retour à la ligne qui fait tout foirer !!!!


Sujet :

HTML

  1. #1
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut Un retour à la ligne qui fait tout foirer !!!!
    Bjr,
    Dans ma page HTML, j'ai un tableau et du js pour faire du traitement dessus. Habitué à l'indentation, j'écris mon code de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <table id='toto'>
      <tr>
         <td>Salut</td>
         <td>Bjr</td>
      </tr>
    </table>
    Le traitement JS fait du traitement sur les TD (il va les cacher)
    La page fonctionne à merveille sous IE....mais pas sous FireFox !!!!! c-a-d que dans ce dernier,le traitement js ne fonctionne pas !!!
    après plusieurs tentatives de débuggage, j'ai trouvé la solution, il fallait faire le code html suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <table id='toto'><tr><td>Salut</td><td>Bjr</td></tr></table>
    !!!!! comment des retours à la ligne peuvent-ils faire tout foirer ??? en plus ce pb me laisse hésitant sur le fait de basculer sur FF !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    plutot un problème javascript à mon avis ...
    tu appelles comment les td en javascript ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Salut

    je ne sais pas comment tu effectue tes traitements, mais je n'ai pas d'ennuis du style sous FF.

    Par contre, cela vient simplement du fait que le retour a la ligne est, dans la mémoire, lui aussi codé comme un caractère (représenté \n ou \r\n sur mac). C'est ce caractère qui doit faire foirer l'une ou l'autre fonction lors de l'analyse de la chaine de caractères. :s

    Pour t'aider, tu px utiliser un principe simple Il existe des petits programmes qui t'optimisent ton code, en réduisant les caractères inutiles (comprennant donc principalement indentations, retours a la lignes, espaces inutiles etc...). Pas mal d'éditeurs proposent aujourd'hui cette fonction également, je suis usr que tu vois de quoi je veux parler

    La technique quand tu veux tester ton code, tu le compresse, tu le sauve et puis tu "undo" (ctrl+z). Tu retrouves donc ton code indenté pèpere pour l'éditer, mais il est sauvé de façon a éviter le problème que tu rencontre

  4. #4
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut
    narnou > mais ça reste quand meme embetant et pas pratique, surtout pour un site où on a des centaines de pages !!!

    SpaceFrog > non ce n'est pas un pb JS, la preuve c que ça marche bien sous IE, alors que sous FF, j'ai du seulement supprimé les retours à la ligne, je n'ai donc pas touché au code JS !!!

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ben justement fais voir comment tu attaques un td en javascript ...
    je suis sur que l'on peut trouver une syntaxe qui fait fi des retrour lignes ou pas ...

  6. #6
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Le mieux selon moi c'est de développer sous FF (en plus le debuggueur est beaucoup plus pratique), comme ça après en passant sous IE tu es presque certain de ne pas avoir de mauvaises surprises, l'inverse est totalement faux, IE n'étant pas une référence

  7. #7
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut
    Citation Envoyé par SpaceFrog
    ben justement fais voir comment tu attaques un td en javascript ...
    je suis sur que l'on peut trouver une syntaxe qui fait fi des retrour lignes ou pas ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
       function decoupeTable(idtable){ 
          var tble = document.getElementById(idtable); 
          var nav  = document.createElement("div"); 
          var tb   = tble.getElementsByTagName("tbody")[0]; 
          var lig  = tble.getElementsByTagName("tr"); 
          var next = document.createElement("input"); 
          var prev = document.createElement("input"); 
     
          next.type = "button"; 
          next.id = "bNext"; 
          next.style.display = "none"; //on cache le bouton
          next.value = ">"; 
          next.onclick = function()
    	  { 
    	     for(var k=0;k<bloc;k++){			 
    			 if(startPos+nbCols < maxCols){ 
    				for(var i=0;i<lig.length;i++){ 
    				   lig[i].childNodes[startPos].style.display = "none"; 
    				   lig[i].childNodes[startPos+nbCols].style.display = ""; 
    				} 
    				startPos++; 
    			 } 
    			 else
    				a_next.style.display = "none";	// On n'affiche plus >>
    		  }
    		  a_prev.style.display = "";	// On réaffiche <<
          } ...

  8. #8
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut
    Citation Envoyé par Huntress
    Le mieux selon moi c'est de développer sous FF (en plus le debuggueur est beaucoup plus pratique), comme ça après en passant sous IE tu es presque certain de ne pas avoir de mauvaises surprises, l'inverse est totalement faux, IE n'étant pas une référence
    si j'avais commencé à developper sur FF, le script n'aurai pas marché, et j'aurais directement laissé tombé cer il n'y a rien qui montre que le js est correct ! donc heureusement que j'ai testé d'abord sur IE car il m'a démontré que le JS était ok, donc pour trouver la solution je me suis concentré sur le HTML ! Donc je pense que IE a été bénifique pour moi, quoi que je n'aime pas trop, d'ailleur maintenant j'essaie de ne plus utiliser que FF, mais le pb que j'ai cité me laisse encore hésiant !!

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    jette un oeil sur ce qu'est un Node cleaner !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     lig[i].childNodes[startPos].style.display = "none";
     lig[i].childNodes[startPos+nbCols].style.display = "";
    pas bon ça car IE et FireFox ne gètrent pas les noeuds de la même façon ...


    deux solutions:
    soit tu uitlises un nodecleaner avant de lancer ta focntion et dans ce cas elle focntionneras aussi bien sous IE que FFX ...

    soit tu passe par la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <body>
    <table border="1" width="100%">
    	<tr>
    		<td width="20%">blablalala;</td>
    		<td width="20%">&nbsp;</td>
    		<td width="20%">coucou;</td>
    		<td width="20%">&nbsp;</td>
    		<td width="20%">&nbsp;</td>
    	</tr>
    	<tr>
    		<td width="20%">&nbsp;</td>
    		<td width="20%">&nbsp;</td>
    		<td width="20%">&nbsp;</td>
    		<td width="20%">&nbsp;</td>
    		<td width="20%">&nbsp;</td>
    	</tr>
    	<tr>
    </table>
    <script type='text/javascript'>
    var lig  = document.getElementsByTagName("tr"); 
    var cellules= new Array()  
    for (i=0;i<lig.length;i++){
           cellules.push(lig[i].getElementsByTagName('td'))
    }
    alert(cellules[0][2].innerHTML)
    </script>
    </body>

Discussions similaires

  1. le retour à la ligne qui change tout
    Par click for aid dans le forum Langage
    Réponses: 6
    Dernier message: 13/05/2008, 15h46
  2. fieldset qui fait tout peter sous IE
    Par pop_up dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 21/03/2008, 20h42
  3. [POO] Une classe qui fait tout ?
    Par Nasky dans le forum Langage
    Réponses: 23
    Dernier message: 26/05/2006, 20h02
  4. Retour à la ligne qui compte pour 2 caractères!
    Par Pragmateek dans le forum C++
    Réponses: 5
    Dernier message: 04/04/2006, 16h59
  5. Réponses: 4
    Dernier message: 01/10/2005, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo