Flash me rajoute le code suivant:
=&onLoad=[type Function]
dans un champ texte (dynamique) dont le contenu est généré à l’aide d’un ptit script php qui lit une db et vomit sans formatage aucun les données (du texte avec un bo breakline
à la fin de chaque entrée). C’est tout ce qu’il fait.
La scène comporte uniquement ce champ texte, voici le code que j’utilise pour afficher le contenu de la db dans le champ:
myvar = new LoadVars();
myvar.onLoad = onText;
myvar.load(“script.php”);
function onText() { mydynamictextfield.text = unescape(myvar); }
Tout se passe bien, je récupère bien dans le champ texte (mydynamictextfield) myvar qui contient ce que le script php imprime. Mais est rajouté dans le champ texte, à la fin et sans retour à la ligne le code cité en premier :/. (bien évidemment le script php executé seul n’imprime pas ce bout de code)
Est-ce que quelqu’un aurait une idée de pourquoi du comment comment je peux éviter ça?
[quote]Je ne sais pas si ça vient de là , mais je pense voir une erreur de syntaxe …
Il manque des parenthese à l’appel de la fonction onText …
myvar.onLoad = onText();[/quote]Mmm… oui c’est curieux que je n’ai pas remarqué ça… le problème c’est que quand j’écris la chose correctement… ben ça marche plus :/… myvar ne récupère pas ce que mouline le php…
myvar = new LoadVars();
myvar.load(« script.php »);
myvar.onLoad = function () { mydynamictextfield.text = unescape(myvar); }
c’est un peu plus porc … mais bon si tu n’a pas besoin de la fonction plusieurs fois ca ne posera pas de pbm…
Si ça ne fonctionne pas , je ne vois pas trop où ca chie, je suis pas un pro de LoadVars(), je passe toujours par du XML
Edit : Bourrinos Mode
Au pire , si on y arrive vraiment pas et que tout se passe bien , que le texte s’affiche impeccable, apres avoir pris le temps d’etre bien chargé , on peut tout simplement coupé le bout de la chaine qui se fourre en trop
Oui c’est con , mais si c’st le seul moyen , on fera avec ! Ce message a été édité par Monsieur_Max le 15/10/2004
Ca compile et ça marche pareil… avec le bout de code en plus qui est un jojo-l’incruste d’un très bon niveau
Vais rentrer en phase de debug et essayer d’isoler ce qui ne va pas. Parser l’output et virer le texte en plus ne devrait pas marcher puisque le code n’en fait pas partie. Vais bien finir par trouver ^^
Laisse toi envahir par la facilité, suis le coté obscur ![/quote] Bin en fait j’aimerais bien mais euh… là comme ça à chaud essayé maintenant… le champ est tout vide :/. Que je définisse la fonction à part ou directement sur la variable.
Bon bon bon, on va voir ça , presque proprement (presque ):
myvar = new LoadVars();
myvar.load(“script.php”);
myvar.onLoad = onText;
function onText() {
this.TempText = unescape(myvar);
this.TempText = this.TempText…slice(-24);
mydynamictextfield.text = this.TempText; }
On a vu mieux, mais ça donnera au moins une piste si ça fonctionne … sinon bah là il faudra vraiment debugger, au pire , je te demanderai ta source pour essayer de resoudre ça
N’empeche que des fois , ActionScript fait vraiment des trucs bien tordus ! C’est courant de devoir ruser pour contourner un comportement innatendu … mais bon c’est pareil avec tous les langages …
Bon… ben finalement j’ai trouvé une solution. Le texte que récupère flash via php est une suite d’entrée donc… pas de variables mais juste un fichier texte. J’affiche le texte tel quel dans le champ texte.
Alors petit changement: je rajoute la variable “beurk” dans mon script php et dans ma fonction au lieu de unescape(tribune)
j’ai unescape(tribune.beurk)
Et voilà… le bout de code flash n’est plus là.