[Flash AS2] considère les espaces comme du rien

ccciolll

Membre expert
Club iGen
Bonjour, j'utilise une base de fichier flash depuis de nombreuses années (on en était à Flash MX 2004…)

Dans ce flash, il y a un morceau de code (une fonction) qui avait été développé par la personne qui nous avait développé l'outil. Cette fonction me sert à savoir si un champ à remplir par l'utilisateur est activé et s'il contient qqchose. Si oui, il est considéré comme "défini" et l'action qui suit est enclenchée.

Voici le code en question :

Bloc de code:
function champ_defini(qui)
	{
		var defini = true;
		if ((eval(qui)== undefined) || (eval(qui) == "") ){ defini = false; }
		return defini;
	}

De mémoire, quand j'ai commencé, si l'utilisateur saisissait ne serait-ce qu'une espace dans le champ en question, il était considéré comme "défini".

Mais, je ne saurais dire quand — soit parce que au fur et à mesure des années il m'a bien fallu passer à flash CS3 puis CS4 (mais malgré tout je continue à exporter mes swf en ActionScript2 / Flash 7), soit parce que les lecteurs flash ont évolué, ou encore à cause d'une autre raison indéterminée — mes flash ont commencé à considérer que une espace (ou deux ou huit) sont l'équivalent de rien. Et du coup mes swf n'ont plus le comportement que j'attends d'eux.

Si le client tape une espace dans son champ, je voudrais que flash considère cette espace et active l'action correspondante au champ.

Est-ce que je peux "expliquer" ça à mes swf en modifiant le bout de code ci-dessus ?
 
:up:

Oh, allez, personne n'a une idée à ce sujet ?
 
Hello,

après qqes conseils reçus sur macbid, j'ai fait des tests, et je soupçonne maintenant que le problème ne viendrait pas de flash mais du site qui héberge le flash qui appliquerait un trim auto aux données qu'il envoie au flash.
L'ennui c'est qu'il n'applique pas ce même trim auto aux données qu'il m'envoie en csv en parallèle.
Du coup je me retrouve avec des résultat différents d'un côté et de l'autre.

à suivre.