[Javascript]Comment faire un retour chariot dans une chaîne de tableau

Comment faire un retour chariot dans une chaîne de tableau [Javascript] - HTML/CSS - Programmation

Marsh Posté le 18-09-2005 à 14:22:23    

Comment faire un retour chariot dans une chaîne contenu dans un tableau ?
 
Voici la ligne de code :
interpretation_inclusion[0][0] = new Array("Voici le 1er paragraphe [quoi mettre pour faire un retour chariot?] Voici le 2ème paragraphe" );
 
Je sais qu'il y a des solutions pour contourner ce problème, comme par exemple créer une 2ème chaîne indépendante ou encore faire afficher un <br> ailleur dans mon code
Mais j'aimerai vraiment savoir si ce que je veux faire existe  ;)  
 
Merci de votre aide  :jap:

Reply

Marsh Posté le 18-09-2005 à 14:22:23   

Reply

Marsh Posté le 18-09-2005 à 18:56:06    

Le plus simple est de mettre "<br>".
Et le navigateur se charge de remplacer cette balise par le code 10 sous Unix/Linux, ou bien le code 13 sous Mac, ou encore les codes 10 ou 13 10 sous Windows/Dos.

Reply

Marsh Posté le 18-09-2005 à 19:18:05    

Merci pour ta réponse
Je serai curieux de voir cette ligne de code, peux-tu me l'écrire ?
Ce que j'ai essayé ne fonctionne pas  :jap:

Reply

Marsh Posté le 18-09-2005 à 20:56:59    

Je précise que j'affiche le contenu du tableau avec : document.write(interpretation_inclusion[x][y]);

Reply

Marsh Posté le 18-09-2005 à 22:40:17    

Par exemple,

interpretation_inclusion[0][0] = new Array("Voici le 1er paragraphe<br>Voici le 2ème paragraphe" );  
document.write(interpretation_inclusion[0][0]);

:)

Reply

Marsh Posté le 18-09-2005 à 22:49:45    

olivthill a écrit :

Par exemple,

interpretation_inclusion[0][0] = new Array("Voici le 1er paragraphe<br>Voici le 2ème paragraphe" );  
document.write(interpretation_inclusion[0][0]);

:)


 
Merci pour ta réponse   ;)  
Cela ne fonctionne pas
Voici ce que cela m'affiche : "Voici le 1er paragraphe<br>Voici le 2ème paragraphe"
Malheureusement, <br> n'est pas interprété mais considéré comme 4 caractères à afficher
Tu comprend mieux mon problème ? :pt1cable:

Reply

Marsh Posté le 18-09-2005 à 22:56:32    

tu veux afficehr le border en HTML ou en texte normal ?
 
sinon un petit \n dans la chaine ca le fait très bien en retour chariot.
 
Au passage les document.write c'est totalement déprécié depuis belle lurette (ca existe plus)

Reply

Marsh Posté le 18-09-2005 à 23:13:30    

gatsusat a écrit :

tu veux afficehr le border en HTML ou en texte normal ?)


Je ne comprend pas ce que tu veux dire
Il y a la balise <HTML> au bébut de mon code
 

gatsusat a écrit :

sinon un petit \n dans la chaine ca le fait très bien en retour chariot.


J'ai bien essayé de mettre un \n dans ma chaîne, mais "\n" s'affiche sous la forme d'un caractère d'espace
 

gatsusat a écrit :

Au passage les document.write c'est totalement déprécié depuis belle lurette (ca existe plus)


Oups, excusez moi je dit des bêtises, je n'utilise pas document.write pour afficher ce tableau mais document.createTextNode
J'utilise le DOM et voici un bout de code
 
 
mycurrent_row=document.createElement("TR" );
     mybody.appendChild(mytable);  
     mycurrent_cell=document.createElement("TD" );
     mycurrent_cell.style.color='#000000';
     currenttext=document.createTextNode(interpretation_inclusion[inclusion[i]][i]);


Message édité par aragorns le 18-09-2005 à 23:16:26

---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 18-09-2005 à 23:54:02    

currenttext=document.createTextNode(interpretation_inclusion[inclusion[i]][i]);
 
ceci explique cela :un textNode est comme son nom l'indique, un champ de text
donc tu pourras lui rentrer n'importe quoi comme balises HTML dedans, ca ne sera interprété que comme du texte.
Ensuite le \n il affiche bien un retour chariot mais au niveau du text brut (affiche le contenu dans un textarea ou un alert tu verras.
 
dans ce cas le mieux à faire serait d'utiliser le innerHTML
currenttext.innerHTML = interpretation_inclusion[inclusion[i]][i];

Reply

Marsh Posté le 19-09-2005 à 00:40:25    

Merci pour ton conseil :)
Mais currenttext.innerHTML=interpretation_inclusion[inclusion[i]][i]; me fait un message d'erreur "Cet objet ne gère pas cette propriété ou cette méthode"
 :pt1cable:


---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 19-09-2005 à 00:40:25   

Reply

Marsh Posté le 19-09-2005 à 09:27:07    

aragorns a écrit :

Merci pour ton conseil :)
Mais currenttext.innerHTML=interpretation_inclusion[inclusion[i]][i]; me fait un message d'erreur "Cet objet ne gère pas cette propriété ou cette méthode"
 :pt1cable:


 
Oups pardon, j'ai cru que currentText était ton objet actuel mais en fait c'est une variable
 
currenttext=interpretation_inclusion[inclusion[i]][i];
 
monobjetdansmaputaindepage.innerHTML = currenttext
 

Reply

Marsh Posté le 19-09-2005 à 10:02:29    

Je sens que les choses se précises  :love:  
Mais pourrais-tu me dire ce que s'est que "monobjetdansmaputaindepage", car je ne le vois vraiment pas (je l'ai remplacé succésivement par mycurrent_row,mycurrent_cell,body,mybody,mytable... enfin un tas de conneries quoi  :??: )
Je ne maîtrise pas bien le DOM, comme tu peux le voir  :pt1cable:  
 
Voici un extrès du code :
 

Code :
  1. var mybody=document.getElementsByTagName("body" ).item(0);
  2. mytable = document.createElement("TABLE" );
  3. mytablebody = document.createElement("TBODY" );
  4. mytable.style.fontSize='15px';
  5. for(i=0; i<9; i++) {
  6.     for(j=0; j<3; j++) {
  7.                            mycurrent_row=document.createElement("TR" );
  8.                            mybody.appendChild(mytable);
  9.                            mycurrent_cell=document.createElement("TD" );
  10.                            mycurrent_cell.style.color='#000000';
  11.                            currenttext=interpretation_inclusion[inclusion[i]][i]];                  monobjetdansmaputaindepage.innerHTML=currenttext;
  12.                         }
  13.                     }
  14. mybody.appendChild(mytable);
  15. mytable.setAttribute("border","0" );


Message édité par aragorns le 19-09-2005 à 10:07:00

---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 19-09-2005 à 10:19:50    

tu sais pas coder ou quoi ?  
 
tu dois bien te douter que currentText c'est le texte HTML de ta cellule de tableau !!!
 
m'enfin tu devrai t'en appercevoir
mycurrent_cell.innerHTML = interpretation_inclusion[inclusion[i]][i]];

Reply

Marsh Posté le 19-09-2005 à 10:35:39    

gatsusat a écrit :

tu sais pas coder ou quoi ?


Non je ne maîtrise pas, j'essaie d'apprendre alors sois patient s'il te plait
 

gatsusat a écrit :

tu dois bien te douter que currentText c'est le texte HTML de ta cellule de tableau !!!


Oui, ça j'ai compris
Les essaie que j'ai fait tout à l'heure, c'était en désespoire de cause c'est tout
 

gatsusat a écrit :

m'enfin tu devrai t'en appercevoir
mycurrent_cell.innerHTML = interpretation_inclusion[inclusion[i]][i]];


 
Milles excuses, mais là je sèche  :sweat:  
Pourrais-tu me montrer le code exact afin que je comprenne enfin mon erreur ?
 
Merci encore


---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 19-09-2005 à 11:01:17    

Code :
  1. var mybody=document.getElementsByTagName("body" ).item(0); 
  2. mytable = document.createElement("TABLE" ); 
  3. mytablebody = document.createElement("TBODY" );
  4. mytable.style.fontSize='15px';
  5. for(i=0; i<9; i++) {
  6.     for(j=0; j<3; j++) {
  7.                            mycurrent_row=document.createElement("TR" );
  8.                            mybody.appendChild(mytable); 
  9.                            mycurrent_cell=document.createElement("TD" );
  10.                            mycurrent_cell.style.color='#000000';
  11.        
  12.                           mycurrent_cell.innerHTML=interpretation_inclusion[inclusion[i]][i]];                             
  13.                       }
  14.                     }
  15. mybody.appendChild(mytable); 
  16. mytable.setAttribute("border","0" );

Reply

Marsh Posté le 19-09-2005 à 11:11:11    

J'ai appliqué ta modif, mais ce nouveau code ne m'affiche plus rien  :pt1cable:


---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 19-09-2005 à 11:20:28    

t1 apprend à coder et file nous ta page complète  
 
et regarde ta putain de page avec le DOM Inspector sous FF
 
je perd patience

Reply

Marsh Posté le 19-09-2005 à 13:19:54    

Voici le code qui va te permettre de voir exactement où est mon problème
Excuse-moi, c'est vrai que cela aurai été bien que je commence par ça  :whistle:  
 
 

Code :
  1. <script type="text/JavaScript">
  2. var tab = new Array("Voici le 1er paragraphe <br> Voici le 2ème paragraphe" );
  3. function traitement()
  4. {
  5. var mybody=document.getElementsByTagName("body" ).item(0);
  6. mytable = document.createElement("TABLE" );
  7. mytablebody = document.createElement("TBODY" );
  8.          
  9. mycurrent_row=document.createElement("TR" );
  10. mycurrent_cell=document.createElement("TD" );
  11.                                
  12. currenttext=document.createTextNode(tab);
  13. mycurrent_cell.appendChild(currenttext);
  14. mycurrent_row.appendChild(mycurrent_cell);
  15. mytablebody.appendChild(mycurrent_row);
  16. mytable.appendChild(mytablebody);
  17. mybody.appendChild(mytable);
  18. mytable.setAttribute("border","0" );
  19.        
  20. }
  21. </script>
  22. <HTML>
  23. <BODY bgColor="#ffffff" leftMargin="100" rightMargin="100" topMargin="15" MARGINWIDTH="0" MARGINHEIGHT="0">
  24. <FORM name="formulaire">
  25. <BR><BR>
  26. <INPUT onclick="traitement()" type="button" value="Affichage de ma chaine">
  27. </FORM>
  28. </BODY>
  29. </HTML>


---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 19-09-2005 à 15:03:03    

et pourquoi afficher un tableau ?

Reply

Marsh Posté le 19-09-2005 à 17:27:44    

gatsusat a écrit :

et pourquoi afficher un tableau ?


En fait à la base, c'est un programme de numérologie
En fonction des calculs, les interprétations sont différentes, et je stock ces interprétations dans des tableaux
Ces interprétations peuvent être assez longues et j'aimerai donc pouvoir mettre des retours chariot dans mes chaînes pour faire une présentation aérée au cas par cas
Voilà  :)


Message édité par aragorns le 19-09-2005 à 17:28:52

---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 21-09-2005 à 12:01:04    

Youpi  :bounce:  
Merci beaucoup Gatsusat
J'ai compris pourquoi mais essais avaient été infructueux en suivant tes conseils
J'avai laissé des caractères non autorisés dans mes chaînes, et donc cela bloquai l'affichage de mes tableaux  :cry:  
Tout est rentré dans l'ordre, je vais pouvoir poursuivre mon code et continuer à apprendre  :sol:  
 
Voilà la solution :
 

Code :
  1. <script type="text/JavaScript">
  2. var tab = new Array;
  3. tab[1] = "Voici le 1er paragraphe <br /> Voici le 2ème paragraphe";
  4. function traitement()
  5. {
  6. var mybody=document.getElementsByTagName("body" ).item(0);
  7. mytable = document.createElement("TABLE" );
  8. mytablebody = document.createElement("TBODY" );
  9. mycurrent_row=document.createElement("TR" );
  10. mycurrent_cell=document.createElement("TD" );
  11. mycurrent_cell.innerHTML = tab[1];
  12. mycurrent_row.appendChild(mycurrent_cell);
  13. mytablebody.appendChild(mycurrent_row);
  14. mytable.appendChild(mytablebody);
  15. mybody.appendChild(mytable);
  16. mytable.setAttribute("border","0" );
  17. }
  18. </script>
  19. <HTML>
  20. <BODY bgColor="#ffffff" leftMargin="100" rightMargin="100" topMargin="15" MARGINWIDTH="0" MARGINHEIGHT="0">
  21. <FORM name="formulaire">
  22. <BR><BR>
  23. <INPUT onclick="traitement()" type="button" value="Affichage de ma chaine">
  24. </FORM>
  25. </BODY>
  26. </HTML>


 
En fait, je vais utiliser aussi l'idée du code ci-dessous, ce qui est en fait mieux que ce que je voulai faire
Je pourrai à la fois différencier mes paragraphes dans des array différents et en plus je pourrai mettre des retours chariots dans mes paragraphes pour aérer tout ça  :D  
 
J'espère que ma petite histoire va éclairer d'autres personnes qui apprennent et se pose la même question :hello:  
 

Code :
  1. var tab = new Array("Voici le 1er paragraphe","Voici le 2ème paragraphe" );
  2. function traitement()
  3. {
  4. var mybody=document.getElementsByTagName("body" ).item(0); 
  5. mytable = document.createElement("TABLE" ); 
  6. mytablebody = document.createElement("TBODY" ); 
  7. for (var i=0; i<tab.length; i++) {
  8.   mycurrent_row=document.createElement("TR" ); 
  9.   mycurrent_cell=document.createElement("TD" ); 
  10.                                              
  11.   currenttext=document.createTextNode(tab[i]);
  12.   mycurrent_cell.appendChild(currenttext); 
  13.   mycurrent_row.appendChild(mycurrent_cell); 
  14.   mytablebody.appendChild(mycurrent_row);
  15.   }
  16. mytable.appendChild(mytablebody); 
  17. mybody.appendChild(mytable); 
  18. mytable.setAttribute("border","0" ); 
  19. }


Message édité par aragorns le 21-09-2005 à 12:26:23

---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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