# [JavaScript] Ca a l'air tellement simple mais...



## Bazinga (22 Septembre 2008)

Bonjour a tous!

Comme certains d'entre vous l'auront suivi, je suis en train de modifier un petit calendrier a partir d'un widget Yahoo existant qui devrait arriver à la fin a ce resultat:

Je tiens a preciser que le travail de presentation n'est pas encore fait, il n a pas encore toute la "gueule" qu'il aura au final








*OBJECTIFS*


avoir un calendrier qui affiche les memos des X prochaines semaine en commencant a la date du jour!
double cliquer sur la journée desirer et rajouter un commentaire, c'est simple comme bonjour.
 

( le calendrier a cette apparence, il suffit de mettre le skin dark glass dans les preferences!)
Il y a juste que les memos sont mis par photoshop dans l image ci-dessous, c'est le dernier truc qu'il me reste a faire avant de paufiner l apparence

Je tiens a vous dire que j'y suis a deux doigts, mais il me manque un petit coup de main en java script!

En effet, vous pouvez le tester vous meme, les memos s'affichent a coté de la date, mais je n'arrive pas a faire un retour a la ligne entre le numero du jour et le memo.

Pourtant il me semble que cette ligne devrait fonctionner a merveille non?



> T[row][column].data += '\r\n' + head;



(lignes 820 et 927 dans le code du main.js)

Pour ceux qui ne connaissent pas les widget, c'est du JavaScript on ne peut plus simple


*Le lien pour le fichier:
*http://www.megaupload.com/fr/?d=2E9C16XH

je suis desole mais je n ai pas trouvé mieux que megaupload poyr vous envoyer le ficher.. c est chiant mais il faudra faire avec!




PS: je suis nul en programmation et je sais que je dois avoir fait des trucs horribles dans le code, mais bon, je ne demande votre avis que sur une seule ligne de code!


----------



## Bazinga (22 Septembre 2008)

Je sais que l apparence et les fonctionnalités des dates ( surtout le mois) sont tres foireux!

j esperais juste montrer un peu mon projet et avoir un peu d'aide, car ce que je demande devrait prendre quelques minutes a un "pro"


----------



## Céroce (23 Septembre 2008)

Autant te le dire, j'ai pas du tout (du tout) essayé, mais tente donc:


```
T[row][column].data += "<BR />" + head;
```

Les sauts de lignes (CR ou LF) ne sont pas interprétés en HTML, j'utiliserais ici la balise BR pour faire le saut à la ligne.


----------



## Bazinga (23 Septembre 2008)

Ce n'est pas vraiment de l'html je pense.. enfin toujours est il que le '\r\n' n'affiche rien, tandis que ta balise s'affiche en brut comme du texte.









J'ai essayé ta balise avec ou sans espaces, cela ne change rien!

Je suis vraiment perplexe!


----------



## dmo95 (23 Septembre 2008)

Je n'ai pas regardé le contenu du programme mais le saut de ligne en programmation c'est \n ou \r ou \n\r selon le système, et non /r/n !!

Mais pour Céroce, le saut de ligne en JS se fait bien avec un CR ou LF !


----------



## Bazinga (23 Septembre 2008)

dmo95 a dit:


> Je n'ai pas regardé le contenu du programme mais le saut de ligne en programmation c'est \n ou \r ou \n\r selon le système, et non /r/n !!
> 
> Mais pour Céroce, le saut de ligne en JS se fait bien avec un CR ou LF !



Bin oui, je sais, dans mon premier post, on voit dans le bout de code que ce sont des '\', il y a juste que pour le dernier post, comme je n ai pas un clavier Mac, j ai pas pensé à faire un copier coller du symbole :rateau: trop fade sur ce coup la...

Il est a noter quand même qu'il les prend en compte vu que il n affiche rien au lieu de mettre le texte \n comme il affiche la balise.. Je pense qu'il y a donc une piste

Je corrige


EDIT: NOUVEAU LIEN

Beaucoup plus pratique que megaupload 

http://dedikam4.com//telechargement.php?clef=8147b414b0af9f3bc49dff25e6857422


----------



## Bazinga (24 Septembre 2008)

Pas d'aide?

Faire un saut a la ligne, c'est une question trop compliquée ou qui n'a pas sa place ici???

Il faudra m expliquer :rateau:


----------



## dmo95 (15 Octobre 2008)

Juste \n ? Pour l'anti-slash sur Mac Pomme+Shift+/ !! Pour la balise, c'est on ne peut plus normal puisqu'il ne s'agit pas d'un Document HTML mais bel et bien d'un script JS dédié au widget... Donc pas d'HTML.

Mais sinon je ne voix pas vraiment d'ou pourrais venir le problème !


----------



## zacromatafalgar (16 Octobre 2008)

Salut,

Je me souviens avoir lu qu'il fallait insérer le texte* "\u000D"* afin d'obtenir un retour à la ligne


----------



## Bazinga (16 Octobre 2008)

dmo95 a dit:


> Juste \n ? Pour l'anti-slash sur Mac Pomme+Shift+/ !! Pour la balise, c'est on ne peut plus normal puisqu'il ne s'agit pas d'un Document HTML mais bel et bien d'un script JS dédié au widget... Donc pas d'HTML.
> 
> Mais sinon je ne voix pas vraiment d'ou pourrais venir le problème !



Comme c'est clairement dit dans le premier message, c'est bien evidemment la premiere chose que j'ai essayée!

Regarde bien sur les images, en fait "\n" ne fait rien aparaitre du tout..



zacromatafalgar a dit:


> Salut,
> 
> Je me souviens avoir lu qu'il fallait insérer le texte* "\u000D"* afin d'obtenir un retour à la ligne



Tres interessant, je regarde cela ce soir des que je suis sur le mac avec le widget!

J espere que ce sera la bonne


----------



## dmo95 (16 Octobre 2008)

Mouai je doute que cela soit une solution sérieuse, il suffit de le tapper sur Google pour comprendre que la solution à l'utilisation de "\u000D" est \n ou \r... 

Mais tiens nous au courant, sinon essai la concaténation de chaine, qui sait ?!?!

Mais c'est vrai que JavaScript est relativement chiant à déboguer...


----------



## Bazinga (21 Octobre 2008)

Bon, j'ai a chaque fois rajouté un symbole pour que vous compreniez bien que chaque code est operationnel et renvoie bien ce que l'on trouve sur le screenshot!

T[row][column].data += '\r\n X ' + head

donne ceci:







même resultat pour : T[row][column].data += '\r\u000D Y ' + head;








Pour les Saint-Thomas qui douteraient encore, j ai meme retiré le "\r" du code pour un même resultat!



Je commence a désespérer vraiment


----------



## dmo95 (21 Octobre 2008)

A l'informatique... à en perdre la raison, je suis désolé de te donner une réponse pareil, mais je suis vraiment curieux d'où cela peut il bien provenir ?

Google n'est plus ton ami ^^


----------



## Bazinga (25 Novembre 2008)

Bon bin, je suis toujours bloqué...

Le calendrier fonctionne de mieux en mieux mais est inutilisable car impossible de mettre du texte sur plusieurs lignes!

Je suis degoute d etre bloqué si pres du but


Je ne comprend pas comment je suis le sul a ne pas savoir mettre du texte sur plusieurs lignes et decu de ne pas voir plus de developpeurs de widget ici, meme des debutants comme moi histoire de ne pas me sentir seul!


----------



## dmo95 (25 Novembre 2008)

Dommage effectivement...


----------



## grumff (25 Novembre 2008)

Au final c'est du html qu'est affiché, donc un <br /> qui est nécessaire non ? S'il passe pas c'est qu'il y a un truc qui le zap, je vais jeter un oeil.


----------



## grumff (25 Novembre 2008)

Mouaip bon, j'ai un peu la flemme de me plonger dans ce truc après une journée de boulot en fait, avant d'aller plus loin, essaye déjà le retour chariot utf8 (après avoir essayé tout ce qui se fait en terme de CRLF...), ça devrait ressembler à ça : \u240D (et non 000 comme le disait zacromatafalgar)

màj : nan, autant pour moi, les premiers résultats google sont pas toujours bon, mauvaise piste


----------



## grumff (25 Novembre 2008)

memowindow.js ligne 630, y'a cette espèce d'énorme expression régulière, je me suis pas amusé à comprendre tout le code qui est autour pour m'assurer que c'est bien elle la responsable, mais bon, ça se pourrait bien quand même : 
var data = memo.data.replace(/\<\<\w*\=[^\;\n\<\>]*?(\;\w*\=[^\;\n\<\>]*?)*\>\>\n?/g, "");
si ça ça zap pas tout type de balise html... dégage là et réessaye avec le <br />, si t'as des choses à escaper fais le ailleurs.


----------



## Bazinga (2 Décembre 2008)

Bien en fait c ets bcp plus complexe que ce que je pensais....


Je peux appercevoir des retout a la ligne dans mon texte en utilisant la fction JAVASCRIPT alert(montexte)
ces retour chariot ne sont pas visibles dans le texte du widget mais seulement dans le popup alert
Je ne peux pas rentrer le code "retour chariot" moi meme par un \n, </br>, /u0000 ou quoi que ce soit d autre! le seul moyen de voir une phrase a la ligne est de faire ctrl+enter en entrant le texte 

je pense que je vais laisser tomber et posterai un screen pour expliquer mes douleurs plus clairement lol


----------



## grumff (2 Décembre 2008)

Bon et ma dernière solution, virer le remplacement par expression régulière et mettre un <br />, ça marche pas ?


----------



## Bazinga (5 Décembre 2008)

grumff a dit:


> Bon et ma dernière solution, virer le remplacement par expression régulière et mettre un <br />, ça marche pas ?



Malheureusement, rien du tout!

je pense que je vais devoir reecrire le code depuis le debut 

Ca m ennuie un peu, mais bon, pas le choix!

PS: vu que 90% du travail est deja fait, je lance toujours un appel a l aide au cas ou quelqu'un se sentirait motive a passer une heure ou 2 avec moi...


Merci d'avance


----------



## Anonyme (5 Décembre 2008)

C'est sûr que si tu avais fait le tableau en html dès le départ, tu serais moins embêté.


----------



## Bazinga (6 Décembre 2008)

gloup gloup a dit:


> C'est sûr que si tu avais fait le tableau en html dès le départ, tu serais moins embêté.



Je suis ouvert a tout de coup de pouce, meme pour un petit bout de code de ce cote la!

Je galere de trop et il m' a fallu des semaines pour arriver au premier resultat!


----------



## grumff (8 Décembre 2008)

profete162 a dit:


> Je suis ouvert a tout de coup de pouce, meme pour un petit bout de code de ce cote la!
> 
> Je galere de trop et il m' a fallu des semaines pour arriver au premier resultat!



Tu sais, réutiliser les trucs existants, c'est sympa quand le truc en question a été un peu conçu pour ça et qu'il est documenté. La dernière fois que j'ai eu à écrire un calendrier de ce genre ça m'a prit une poignée d'heures. Alors franchement, repart de 0, t'y perdras beaucoup moins de temps.


----------

