Comunidad de diseño web y desarrollo en internet online

Pasar valor

Citar            
MensajeEscrito el 21 Oct 2008 11:10 am
Hola
Tengo un componente textarea que se nutre de los resultados de un HTTPService y un boton que al clicarlo llama a una funcion. Como puedo asignar el valor del textarea a una variable de una funcion, lo hago de la siguiente manera pero no me sale.

Código :

<mx:Script>
   <![CDATA[
[Bindable] public var dato:uint=0;
      public function pasadato():void {
         dato= uint(textarea1.text);
         }
   ]]>
</mx:Script>
<mx:TextArea text="{datos de un HTTPService}" id="textarea1"/>
<mx:Button label="Pasar" click="pasadato()"/>

Saludos

Por willow001

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Oct 2008 11:39 am
No hace falta ninguna función para asignar, justamente el objetivo de los bindings es simplificar esas cosas. Si tienes una variable bindable (no importa su origen) basta poner

text={dato}

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Oct 2008 11:51 am
Hola
Efectivamente, el Binding del textarea me funciona bien.

Código :

text={dato}

Pero lo que necesito es recuperar ese valor "dato" del textarea que esta con su binding, y por tanto cada vez tendra un valor diferente, para pasarselo a otro HTTPService distinto.
Gracias

Por willow001

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Oct 2008 11:53 am
En el parameter del otro HTTPService el valor .... también es {dato} ... solo asegúrate que no se pueda llamar hasta que el primer HTTPService lo haya seteado

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Oct 2008 12:45 pm
Hola
Simplemente un 10.
Pero ahora el problema es que todo este codigo esta metido dentro de un control Repeater el cual me muestra 3 resultados cada vez y cuando llamo al HTTPService, siempre envia el ultimo de los 3 mostrados.

Código :

<mx:HTTPService id="_productosver"
   method="POST"
   url="http://localhost/paginador1/php/productosver.php">
   <mx:request >
   <productoID>{_productosRP.currentItem.productoID}</productoID> 
   </mx:request>
</mx:HTTPService>

Ya casiiiiiiiiiiiiiiiiiiiiiii esta.

Por willow001

52 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Oct 2008 12:57 pm
Al estar dentro de un loop currentItem siempre es el último, por lo cual todos apuntan al mismo. Además crear un HTTPService N veces según la cantidad de productos que tengas es overkilling. En realidad deberías tener un solo HTTPService al que llamas pasándole el parámetro adecuado. Si quieres que la respuesta con datos se muestre en algún componente, lo mas simple es crear una variable de tipo dataProvider que sea bindable y cuando el HTTPService devuelva la data, rellene ese dataProvider. No se si hay alguna forma enteramente visual (es decir solo con mxml), ya que suelo usar AS (por ejemplo un loop en vez de un repeater) porque me brinda mayor control

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Oct 2008 08:23 pm
Hola
Ya encontre la solucion de como pasar valores de un componente que este metido dentro de un Repeater, aqui dejo la solucion por si a alguien le vale

Código :

<mx:Button id="boton" click="irproductos(event.currentTarget.getRepeaterItem().productoID);" />

public function irproductos(cName:uint):void {
productoIDD=cName; 
LLAMADA AL HTTPSERVICE
}

Gracias por tu tiempo y tus repuestas Jorge.

Por willow001

52 de clabLevel



Genero:Masculino  

firefox

 

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