Comunidad de diseño web y desarrollo en internet online

Problema pasando datos desde un input text

Citar            
MensajeEscrito el 24 Ago 2007 08:52 pm
¡Hola a todos!

Estoy usando Flash 8 y tengo un problema cuando quiero pasar números desde un input text (o sea, escribir una cifra en el input para almacenarla en una variable y poder hacer cálculos con ella más tarde)

El tema es que en lugar de pasarme sólo el número, me pasa todo el estilo que tiene el campo del input. Por ejemplo, si yo escribo 12, en vez de devolverme ese número, me devuelve:

Código :

<TEXTFORMAT LEADING="2"><P ALIGN="CENTER"><FONT FACE="Myriad Pro" SIZE="14" COLOR="#CCCCCC" LETTERSPACING="0" KERNING="0">12</FONT></P></TEXTFORMAT>

¿Alguna idea del por qué hace esto y cómo puedo solucionarlo? En versiones anteriores de Flash esto no pasaba. ¡Desde ya, muchísimas gracias a todos!

Por vanhelden

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ago 2007 09:28 pm
¿Cómo extraes el dato del input text?

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 24 Ago 2007 11:14 pm
¡Hola Fricky!
Te comento: a mi input text lo nombré con la variable habitantes, y este está dentro de un Movie Clip llamado ingreso. A la cifra que el usuario tipea en habitantes la coloco en otra variable llamada temporal. Todo esto se activa cuando el usuario apreta el botón de calcular, el cual tiene esta acción:

Código :

calcular.onPress = function() {
   temporal = _root.ingreso.habitantes;
   trace(temporal);
};

En el trace, teoricamente, tendría que figurar sólo el número que escribís en el input. Pero en lugar de eso, me devuelve toda una línea del estilo que tiene ese input, o sea:

Código :

<TEXTFORMAT LEADING="2"><P ALIGN="CENTER"><FONT FACE="Myriad Pro" SIZE="14" COLOR="#CCCCCC" LETTERSPACING="0" KERNING="0">10</FONT></P></TEXTFORMAT>

Lógicamente, al devolverme todo esto, la variable temporal no guarda un número, sino todo un string, por lo que si yo luego necesito multiplicarla por otro número, me tira NaN (porque justamente está multiplicando un string por un número y ese es el error)
Aclaración: el input text no tiene nombre de instancia, solo le puse habitantes donde dice var.
¿Qué es lo que estoy haciendo mal? ¿O me olvidé de algo?
¡Gracias de antemano!

Por vanhelden

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ago 2007 11:30 pm
Bueno, básicamente lo que ocurre es que te está devolviendo el valor de la propiedad htmlText, en vez de la propiedad text, que es la que necesitas. Hay dos opciones:

1.- Verifica que el inputText tenga desabilitada la opción html (haz click en el input y revisa en las propiedades que el botón "<>" está desactivado). Eso debería solucionar el problema.

2.- Por otro lado, a menos que realmente necesites tenerlo vinculado a un variable, te recomiendo que la quites, le pongas un nombre de instancia y accedas directamente a su propiedad text, para guardalo en tu variable. Si sólo vas a usar esa variable para guardarla en otra creo que estás multiplicando variables innecesariamente.

En cualquiera de los dos casos, es importante que tengas en cuenta que el inputText va a devolverte un tipo de datos "String", no "Number". Si vas a hacer operaciones diferentea a una suma no habrá ningún problema porque AS hará el Cast automáticamente a Number, pero si es una suma, es necesario que hagas un Cast a Number porque, como bien sabes, el símbolo de suma es el mismo para concatenar String, lo que haría que en vez de convertir tu texto a número convierta el número a string. (Ups, ya me enredé :crap:).

Haz la prueba y nos cuentas.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 25 Ago 2007 04:15 am
¡Mil gracias, Freaky!
Sí, creo que me estaba complicando yo. Simplemente le asigné un nombre de instancia al Input Text, le quité la variable que le había puesto y lo toma perfecto, sin ningún código adicional. Aún no probé con el resto de las operaciones que tengo que hacer, pero ya creo que no debería de tener problemas.
¡¡Nuevamente, muchísimas gracias!!
Suerte.

Por vanhelden

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.