Foros del Web » Programando para Internet » Javascript »

Alertas "inteligentes" en JavaScript.

Estas en el tema de Alertas "inteligentes" en JavaScript. en el foro de Javascript en Foros del Web. Hola, le paso a comentar, estoy haciendo una pagina la cual tiene un formulario con varios campos, los cuales todos tienen que estar completos para ...
  #1 (permalink)  
Antiguo 16/02/2010, 10:54
Avatar de sette15  
Fecha de Ingreso: noviembre-2007
Ubicación: Rosario, Argentina
Mensajes: 97
Antigüedad: 16 años, 5 meses
Puntos: 0
Exclamación Alertas "inteligentes" en JavaScript.

Hola, le paso a comentar, estoy haciendo una pagina la cual tiene un formulario con varios campos, los cuales todos tienen que estar completos para que pueda ser enviado dicho formulario, de lo contrario sale una alerta, hecha en JavaScript. La pregunta es: ¿hay alguna manera de hacer más simple y corto el código de JavaScript?, es decir, actualmente estoy utilizando bloques IF, pero se hace muy largo, encima por cada campo sin completar salta un cartel de advertencia, es algo molesto. Lo que busco es algo que si por ejemplo faltan completar dos campos que salga un sólo cartel de advertencia que adentro diga "falta completar campo 1 y 2" por ejemplo, es decir que se agrupen los textos en una sola advertencia no se si entiende. Este es mi código "pobre" actual:

Código:
if (document.form1.campo1.value == "0"){
alert('Alerta del campo 1.');
}
if (document.form1.campo2.value == ""){
alert('Alerta del campo 2.');
}
if (document.form1.campo3.value == "http://" || document.form1.campo3.value == ""){
alert("Alerta del campo 3.");
}
if (document.form1.campo4.value == ""){
alert("Alerta del campo 4.");
}
if(document.form1.campo5.value == ""){
alert('Alerta del campo 5.');
}
if(document.form1.campo6.value < 100){
alert('Alerta del campo 6.');
}
if (document.form1.campo7.value == "0"){
alert('Alerta del campo 7.');
}
Desde ya muchas gracias.
__________________
Salu2
  #2 (permalink)  
Antiguo 16/02/2010, 12:24
 
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Alertas "inteligentes" en JavaScript.

Hola

Esto lo puedes solucionar creando solo una funcion donde reciba un parametro el cual va a ser el que ejecute el alert, asi solo tienes una funcion y lo unico que haces es llamar esta desde cualquier parte y le pasas como parametro lo que debe de mostrar en caso de que no cumpla tu condicion.

Código Javascript:
Ver original
  1. function alertaMensaje(message){
  2.    alert(message)
  3. }

Saludos.
  #3 (permalink)  
Antiguo 16/02/2010, 21:54
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Alertas "inteligentes" en JavaScript.

@jagz,
tu solucion no tiene sentido porque la funcion solo contiene el alerta. o sea, estas reemplazando una funcion nativa por una funcion propia que al final es lo mismo en dos sentidos: tanto en la operacion como en la cantidad de veces que hay que invocar la funcion. la idea es reducir el numero de veces que se escribe la funcion para mostrar el alert. con tu solucion, de igual manera se tiene que invocar multiples veces la funcion alertaMensaje.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 17/02/2010, 09:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Alertas "inteligentes" en JavaScript.

Si es correcto pero es una forma de reducir logica dentro del sistema y te ayuda a limpiar el codigo, creo que es mucho mejor que un conjunto de if () else if ....ahora si se puede un conjunto de alerts inteligentes donde en solo uno se agrupe lo que se necesita seria fantastico.
Saludos.
  #5 (permalink)  
Antiguo 17/02/2010, 12:24
Avatar de sette15  
Fecha de Ingreso: noviembre-2007
Ubicación: Rosario, Argentina
Mensajes: 97
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Alertas "inteligentes" en JavaScript.

Entonces ustedes dicen que sería complicado hacer eso?
__________________
Salu2
  #6 (permalink)  
Antiguo 17/02/2010, 12:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Alertas "inteligentes" en JavaScript.

Para que no muestre todos los mensajes, basta con hacer un return después de cada alert()
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 17/02/2010, 15:53
Avatar de sette15  
Fecha de Ingreso: noviembre-2007
Ubicación: Rosario, Argentina
Mensajes: 97
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Alertas "inteligentes" en JavaScript.

Cita:
Iniciado por David Ver Mensaje
Para que no muestre todos los mensajes, basta con hacer un return después de cada alert()
Si si, es verdad pero quería ver si se podía de alguna manera hacer lo que mencione anteriormente, osea agrupar los mensajes de alerta.
__________________
Salu2
  #8 (permalink)  
Antiguo 17/02/2010, 16:21
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: Alertas "inteligentes" en JavaScript.

envez de hacer un alert en cada if... ve formando una cadena...

Código Javascript:
Ver original
  1. var msg = "";
  2. if (document.form1.campo1.value == "0"){
  3. msg = msg + "campo1, ";}
  4. if (document.form1.campo2.value == ""){
  5. msg = msg+"campo2, ";}
  6. ...


y al final de los ifs mandas el alert

Código Javascript:
Ver original
  1. alert("completar los siguientes campos: " + msg);
  #9 (permalink)  
Antiguo 17/02/2010, 21:23
Avatar de sette15  
Fecha de Ingreso: noviembre-2007
Ubicación: Rosario, Argentina
Mensajes: 97
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Alertas "inteligentes" en JavaScript.

Cita:
Iniciado por osvier Ver Mensaje
envez de hacer un alert en cada if... ve formando una cadena...

Código Javascript:
Ver original
  1. var msg = "";
  2. if (document.form1.campo1.value == "0"){
  3. msg = msg + "campo1, ";}
  4. if (document.form1.campo2.value == ""){
  5. msg = msg+"campo2, ";}
  6. ...


y al final de los ifs mandas el alert

Código Javascript:
Ver original
  1. alert("completar los siguientes campos: " + msg);
Esto es lo que estaba necesitando, muchísimas gracias!.

Una pregunta aparte de esto pero que tiene que ver con javascript:

En el mismo formulario cuando aprieto en botón de enviar tengo escrita una cadena para que el botón se bloquee hasta que se termine de enviar el formulario, y también una imagen oculta (un circulito de carga) que se muestra cuando uno hace clic sobre el botón. Esto funciona correctamente cuando uno hace clic sobre el botón, pero al presionar la tecla ENTER, también para enviar el formulario esto no sucede.
Hay alguna manera de hacer que al presionar la tecla ENTER también se ejecute el código javascrip, es decir que el botón se bloquee y que se muestre la imagen?

Gracias nuevamente.
__________________
Salu2
  #10 (permalink)  
Antiguo 18/02/2010, 07:59
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Alertas "inteligentes" en JavaScript.

Seguramente estás usando el evento onclick del botón en vez de el onsubmit del formulario, que es la forma correcta.


Saludos.
  #11 (permalink)  
Antiguo 18/02/2010, 11:14
Avatar de sette15  
Fecha de Ingreso: noviembre-2007
Ubicación: Rosario, Argentina
Mensajes: 97
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Alertas "inteligentes" en JavaScript.

Cita:
Iniciado por AlvaroG Ver Mensaje
Seguramente estás usando el evento onclick del botón en vez de el onsubmit del formulario, que es la forma correcta.


Saludos.
Si era eso... Muchas gracias!
__________________
Salu2

Etiquetas: alerta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.