Comunidad de diseño web y desarrollo en internet online

Paso parametros de flash a una url

Citar            
MensajeEscrito el 14 Ago 2008 07:54 pm
:) Hola amigos que tal?

Tengo una duda, muy simple pero me trae asoleado, no tengo mucha experiencia en flash asi que pido ayuda.

Tengo un formulario en flash, muy simple, un solo campo de introducción de texto, en el campo de texto tengo
Var: buscar

Ahora bien, en el boton que ejecutaría la opción tengo lo siguiente:


Código:

Código ActionScript :

on (release) {
   if (buscar ne "") {
      getURL("buscar.php?buscar="+buscar,"_self");
   } else {
      getURL("javascript:alert(\"Busqueda esta vacio\")");
   }
}

on (keyPress "<Enter>")
{
   if (buscar ne "") {
      getURL("buscar.php?buscar="+buscar,"_self");
   } else {
      getURL("javascript:alert(\"Busqueda esta vacio\")");
   }
   
   }


El problema está en que cuando doy clic en la página da un resultado como

www.sitio.com/buscar.php?buscar=undefined


No se porque la variable parece indefinida´... ¿Me podrían ayudar?, lo único que necesito es que por ejemplo si yo pongo en el campo de busqueda hola, los datos se envíen de la manera siguiente:
www.sitio.com/buscar.php?buscar=hola

osea por el metodo GET, pero no se que pasa.. miles de gracias por su ayuda!


:)

Por ricardomz

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 14 Ago 2008 10:25 pm
utilizo actionscript 2.0, flash 8... GRACIAS

Por ricardomz

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 15 Ago 2008 02:40 am
Tienes el primer problema y es que al programar encima del botón cualquier cosa que no le pongas el camino donde se encuentra, el botón lo búscará dentro de él:

Código ActionScript :

// En vez de buscar
// Pones _root.buscar


Y lo segundo es que estás trabajando con la variable del campo de texto, por lo tanto en vez de comparar la variable a un string en blanco debes compararla con undefined:

Código ActionScript :

if (_root.buscar != undefined) {


He eliminado el operador "ne" ya que este ha quedado obsoleto a partir de Flash 5 por lo tanto si estás trabajando con AS2, lo correcto es utilizar el operador "!=".

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 15 Ago 2008 07:24 pm
Elchininet,

Gracias por tu ayuda, te cuento las modificaciones que le hecho, pero no consigo todavía nada, es solamente un campo de introducción de texto con un boton, le he puesto un nombre al campo, en este caso "buscar", y el codigo que envia la info lo he modificado con tus datos y otros tips que he econtrado de la siguiente manera:

Código ActionScript :

on (release) {
   if (_root.buscar.text != "" || _root.buscar.text != undefined) {
      getURL("http://www.lobus.com.mx/buscar.php?buscar="+_root.buscar.text, "_self");
   } else {
      getURL("javascript:alert(\"Busqueda esta vacio\")");
   }
}

on (keyPress "<Enter>") {
   if (_root.buscar.text != "" || _root.buscar.text != undefined) {
      getURL("http://www.lobus.com.mx/buscar.php?buscar="+_root.buscar.text, "_self");
   } else {
      getURL("javascript:alert(\"Busqueda esta vacio\")");
   }
}




Y ahora simplemente hace esto: www.sitio.com/buscar.php?buscar=

No lo consigo ¿que puede ser?... :shock:

Por ricardomz

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 15 Ago 2008 08:52 pm
Cuando comenzaste tu post dijiste esto:

escribió:


Tengo un formulario en flash, muy simple, un solo campo de introducción de texto, en el campo de texto tengo
Var: buscar


Así que entendí que "buscar" era la variable del campo de texto, ahora veo por tu código que "buscar" es el nombre de instancia del campo de texto, undefined lo debías utilizar en caso de variable, en este caso no, bueno la mejor forma de hacer esto es con una función que te haga la tarea y la llamas si el botón es presionado o si es presionada la tecla ENTER, pero ojo, se debe enseguida que se presione desactivar para que no siga habriendo páginas hasta que se vuelva a hacer focus en el campo, aquí tienes el ejemplo, la programación sitúala en el frame de la línea de tiempo donde se encuentran tus objetos, el campo dinámico tiene nombre de instancia "buscar" y el botón tiene nombre de instancia "boton":

Código ActionScript :

//---Función de llamar a la página

function sendVariable():Void{
   
   var buscarText:String = _root.buscar.text;

   if (buscarText != "") {

      getURL("http://www.lobus.com.mx/buscar.php?buscar="+buscarText, "_self");

   } else {

      getURL("javascript:alert('Busqueda esta vacia')");

   }
   
}

//---Ejecutar la función al presionar el botón

boton.onPress = function():Void{
   
   sendVariable();
   
}

//---Ejecutar la función al presionar la tecla enter

var listener:Object = new Object();

listener.onKeyDown = function():Void{
   
   if(Key.getCode() == Key.ENTER){
      
      sendVariable();

      //---Remover el listener al presionar ENTER
      Key.removeListener(listener);
      
   }
   
}

Key.addListener(listener);

//---Cuando el campo se ponga en focus añadir el listener
_root.buscar.onSetFocus = function():Void{
   
   Key.removeListener(listener);
   Key.addListener(listener);
   
}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 15 Ago 2008 11:11 pm
Wow, Elchininet al parecer está de lujo ese codigo, lo estoy probando solo que me da algunos errores, me dice la ventana de depuración que existe un error de sintaxis,..

fotograma=1:Línea 5: Error de sintaxis.
   var buscarText:String = _root.buscar.text;

solo que, hijole.. pues nomas no lo encuentro amigo,... ¿me podrías ayudar igualmente?,... en serio miles y miles de GRACIAS..

Cordiales saludos!

Por ricardomz

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 16 Ago 2008 01:07 am
El herror debe ser en otra parte, haz una prueba, copia el código completo al primer fotograma de una película nueva en blanco y ejecútala para que veas que no lanza ni un solo herror.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Ago 2008 02:29 pm
Estimado Elchininet,

Mira, he copiado tal cual el codigo en una pelicula nueva, ¿podría ser por que estoy utilizando flash 8?...

Código :

//---Función de llamar a la página

function sendVariable():Void{
   
   var buscarText:String = _root.buscar.text;

   if (buscarText != "") {

      getURL("http://www.lobus.com.mx/buscar.php?buscar="+buscarText, "_self");

   } else {

      getURL("javascript:alert('Busqueda esta vacia')");

   }
   
}

//---Ejecutar la función al presionar el botón

boton.onPress = function():Void{
   
   sendVariable();
   
}

//---Ejecutar la función al presionar la tecla enter

var listener:Object = new Object();

listener.onKeyDown = function():Void{
   
   if(Key.getCode() == Key.ENTER){
      
      sendVariable();

      //---Remover el listener al presionar ENTER
      Key.removeListener(listener);
      
   }
   
}

Key.addListener(listener);

//---Cuando el campo se ponga en focus añadir el listener
_root.buscar.onSetFocus = function():Void{
   
   Key.removeListener(listener);
   Key.addListener(listener);
   
}


DETALLES DEL ERROR:

Código :

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 4: Error de sintaxis.
        

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 5: Error de sintaxis.
        var buscarText:String = _root.buscar.text;

Total de errores de ActionScript: 2     Errores comunicados: 2


De verdad no se que sea... DE VERDAD, MIL GRACIAS :D

Por ricardomz

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 16 Ago 2008 03:32 pm
No se tampoco que puede ser, aunque uses flash 8 todo lo que está en el código es en AS2, no hay nada en AS3.
Aquí tienes el mismo código pegado en un documento en blanco con un mc de nombre de instancia "boton" y un campo de texto de nombre de instancia "buscar". Abre primero que todo el SWF desde Flash para que veas que funciona.

http://www.megaupload.com/?d=A925L923

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 18 Ago 2008 11:52 pm
Elchininet,

Amigo, de verdad miles de gracias por el apoyo y haberte tomado la molestia de subir hasta el archivo para darme un ejemplo, al fin resultó todo, y he podido terminar con este proyecto. De verdad miles y miles de gracias.

Te envío un gran saludo y por favor, si algun dia te puedo apoyar en este sentido y lo sé hacer, cuenta conmigo. GRACIAS NUEVAMENTE...

RICARDO

Por ricardomz

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 24 Nov 2009 12:02 am
Hola yo tengo una pregunta como puedo enviar el dato selecionado de un combox, de esta misma manera no lo consigo y solo me aparece indefinido, lo intente hacer asi:

var tb:String = tipoboleto.selectedItem.data;
getURL("index.aspx?"+tb,"_self");

y obtengo algo asi
index.aspx?undefined
Ayuda

Por freus360

1 de clabLevel



 

msie8
Citar            
MensajeEscrito el 06 Dic 2009 05:37 pm
@freus360, no se si habrás solucionado el problema. Postea una porción más amplia del código para poder ver si el error está en otra parte.

Un saludo

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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