Comunidad de diseño web y desarrollo en internet online

Problema componente Alert

Citar            
MensajeEscrito el 15 Mar 2009 02:14 am
Tengo un registro de usuarios y lo que quiero es que si no hay nada escrito en los campos obligatorios me salga un Alert pidiendo esos campos. Se utilizar el componente Alert, me funciona bien, pero no se como "indicarle" múltiples variables.

Lo único que he onseguido es crear un alert para campo, pero lo que quiero es que si falta 1 me diga

"te falta tal campo"

Y si faltan 2 te diga

"te faltan:
-este campo
-y este otro campo"

Sabeis algun modo de hacerlo?

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 15 Mar 2009 02:28 am
para que os hagais una idea:

Código :

import mx.controls.Alert;

   alClicar = new Object();

   Alert.buttonWidth = 75;


   if (curs_combo.selectedIndex == 0) {
      curs_var = "curs";
      Alert.show("Falta indicar \n · "+curs_var,"ALERTA",Alert.OK,this,alClicar,"prueba",Alert.OK);
   }


esto hace que cuando en mi combobox no se haya selecionado nada me aparezca una mensaje diciendo

"Falta indicar
· curs"

Lo que yo quiero es que si por ejemplo tampoco hubiese nada seleccionado en otro combobox saliera:

"Falta indicar
· curs
· otro combobox"

Y así hasta los 4 o 5 que tengo..

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 15 Mar 2009 08:32 am
Podrias llenar un Array con los faltantes, por ejemplo asi:

Código ActionScript :

import mx.controls.Alert;
alClicar = new Object();
Alert.buttonWidth = 75;

var faltantes:Array = new Array();

   if (curs_combo.selectedIndex == 0) {
      faltantes.push( "curs" );
   }//Nota que NO coloco ELSE
   if( texto.length == 0 )
   {
      faltantes.push( "algomas" );
   }

//Aqui la validacion
if( faltantes.length > 0 )
{
   Alert.show("Falta indicar: \n -"+faltantes.join("\n -"),"ALERTA",Alert.OK,this,alClicar,"prueba",Alert.OK);
}
else
{
  //Todos los datos estan correctos
}


El metodo join del array devuelve un string que concatena todos los faltantes, eso debe funcionar. Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 15 Mar 2009 12:17 pm
voy a probarlo y te digo!

gracias.

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 15 Mar 2009 12:30 pm
vale ha funcionado perfectamente!!

pero.. me lo podrías explicar un poco mejor como funciona? para entenderlo yo bien.. gracias!

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 15 Mar 2009 12:38 pm
ups.. he probado con 3 o 4 combos diferentes y solo me parecen los dos primeros... es normla?

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 15 Mar 2009 12:45 pm
Hola, bueno, lo unico que hago es crear un array en donde se guardan cada uno de lo que le falta por seleccionar, y al final lo despliegas en el mensaje del Alert.

Para resolver tu error vas a tener que postear tu codigo.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 15 Mar 2009 12:51 pm
mira mi código es este:

Código :

import mx.controls.Alert;
   alClicar = new Object();
   Alert.buttonWidth = 75;

   var faltantes:Array = new Array();


   if (nom_txt.text == "") {
      faltantes.push("nom");
   }
   if (p_cognom_txt.text == "") {
      faltantes.push("primer cognom");
   }
   if (s_cognom_txt.text == "") {
      faltantes.push("segon cognom");
   }
      if (dni_txt.text == "") {
      faltantes.push("D.N.I.");
   }

   if (tipus_carrer_combo.selectedIndex == 0) {
      faltantes.push("tipus carrer");
   }
   if (dia_combo.selectedIndex == 0 or mes_combo.selectedIndex == 0 or any_combo.selectedIndex == 0) {
      faltantes.push("data neixament");
   }
   if (sexe_combo.selectedIndex == 0) {
      faltantes.push("sexe");
   }
   if (curs_combo.selectedIndex == 0) {
      faltantes.push("curs");
   }
   
   
   if (faltantes.length>0) {
      Alert.show("Falta indicar \n · "+faltantes.join("\n ·"),"ALERTA",Alert.OK,this,alClicar,"prueba",Alert.OK);
   }


Todo funciona bien, excepto que yo tengo 8 campos o combos y en el Alert solo me aprecen 7, el último (sea el que sea) no me aparece nunca...

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 15 Mar 2009 01:06 pm
mira he hecho la prueba definitiva.

yo tengo 17 campos para rellenar. Ya he puesto el código para todos.

Cuando no hay nigun cmapo lleno solo me sale la alerta de 14, y a medida que voy rellenando campos el 15 me aparece solo cuando he rellenado 6 campos y el último solo me sale cuando solo me quedan 2 para rellenar..

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 16 Mar 2009 07:30 am
podriamos hacer trace para ver si el problema esta en el join, o esta en las validaciones:

Código ActionScript :

if (faltantes.length>0) 
{
   for( var i in faltantes ) trace( faltantes[i] );
   Alert.show("Falta indicar \n · "+faltantes.join("\n ·"),"ALERTA",Alert.OK,this,alClicar,"prueba",Alert.OK);
}


ahora dime, en el trace si salen todos los faltantes o sale la misma informacion que en el Alert?

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 16 Mar 2009 06:02 pm
lo probaré y te digo! gracias por responder

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 16 Mar 2009 06:20 pm
sii!! eso ya lo probé! en el trace me aparecen todos.

Por hiulit

Invitado



 

firefox
Citar            
MensajeEscrito el 16 Mar 2009 07:18 pm
ahora pueden pasar 2 cosas, la primera, que el join no funcione o que el alerta no lo despliege, hacemos otro trace:

Código ActionScript :

if (faltantes.length>0)  
{ 
   var outstr:String = "Falta indicar: \n · "+faltantes.join("\n ·");
   trace(outstr);
   Alert.show(outstr,"ALERTA",Alert.OK,this,alClicar,"prueba",Alert.OK); 
} 


En el trace te sale lo mismo que en el alert?

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox

 

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