Forums Développement Multimédia

Aller au contenu

Transformer un textfield sans perte de ce qu'il contient

CODE TUTO

4 réponses à ce sujet

#1 pbena

    Ceinture Orange

  • Members
  • PipPipPip
  • 40 messages

Posté 24 August 2015 - 14:50 PM

Bonjour,
Je m'explique ... c'est tout bête mais je me prends la tête avec ce petit problème depuis qq heures.

Image 1 : j'ai un texfield "texte de saisie" et un bouton qui envoie à l'image 2.
image 2 : je voudrais retrouver mon texfield avec les données saisie à l'image 1 par l'utilisateur mais cette fois ci non modifiable (en texte dynamique).

Remarque :

montexte2.text=montexte1.text;
 
...ne marche pas.

Merci d'avance pour votre aide.

#2 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 24 August 2015 - 21:33 PM

Bonjour PBena.
Pour que ton code fonctionne, il faudrait qu'il ai accès aux 2 txtField en même temps, ce qui n'est pas possible si ils sont sur 2 images différentes.

Une solution serait de tout coder, txtFields compris, mais ce n'est sans doute pas ce que tu cherches.
Autre solution : 1 prière premier code qui enregistre le contenu de txtField1 dans une variable avant de quitter l'image 1, et 1 second code, sur l'image 2, qui enregistre la valeur de la variable dans le txtFiel2.

#3 pbena

    Ceinture Orange

  • Members
  • PipPipPip
  • 40 messages

Posté 25 August 2015 - 05:23 AM

Salut,
Tout d'abord merci pour ta réponse.
J'ai essayé avec ce code en image 1

stop();

button_1.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
function fl_MouseClickHandler(event:MouseEvent):void
{
var t1:String = texte1.text;
gotoAndStop(2);

}
 

et en image 2 :

stop();
texte2.text=t1;
 

J'ai l'erreur de compilation : "accès à la propriété non définie t1"

Je viens de 15 ans d'AS2 et je me lance dabs l'AS3 et j'avoue que pour l'instant j'ai du mal à comprendre l'intérêt (mais je vais m'accrocher) car je pensais que le codage allait en se simplifiant et je me rends compte que c'est l'inverse. Pour revenir à mon problème, en AS2 il n'y avait même pas besoin de code, juste un bouton pour aller à l'image 2 et le même textArea sur les deux images pour lequel il fallait juste changer la propriété "saisie" en "dynamique" dans le panneau de propriétés de flash.

Mon petit fla en pièce jointe ... au cas où.

Encore merci pour votre aide.

Fichier(s) joint(s)



#4 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 25 August 2015 - 10:21 AM

Bonjour PBena

Tu y es presque…

Ton soucis vient de la portée de ta variable t1…
Comme tu la déclares dans ta fonction, elle n'existe que dans celle ci. Dès que le code a terminé l'exécutionde la fonction, disparue la variable t1.
Tu dois donc la déclarer avant la fonction (généralement on fait ça dans les première lignes) même si tu ne lui attribue pas une valeur tout de suite. Comme ça, elle existera encore après avoir été valorisée dans la fonction et tu pourras la place dans le second texteField.
var t1:String ;
stop();
button_1.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
function fl_MouseClickHandler(event:MouseEvent):void
{
        t1 = texte1.text;
        gotoAndStop(2);
}

Ceci dit, la méthode que tu utilisais en AS2 est bien meilleure… et tu peux la reproduire très simplement en laissant courrir ton textfiel sur les 2 images. Ensuite; il te suffit de modifier la valeur de la propriété type de ton textField quand tu arrives dans l'image2 avec un :
texte1.type = TextFieldType.DYNAMIC;


#5 pbena

    Ceinture Orange

  • Members
  • PipPipPip
  • 40 messages

Posté 25 August 2015 - 13:02 PM

Génial...merci mille fois ! :smile:



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP