La Web del Programador: Comunidad de Programadores
 
    Pregunta:  27563 - MOSTRAR ALERTAS EN UNA PáGINA WEB
Autor:  Marta Bea
Tenemos un formulario en una página web en el que los campos son primeramente validados con JavaScript y si no son válidos se muestra una alerta con el comando "alert", pero además se llama a un servlet.

En el servlet, también se validan los datos por si alguien no tiene activado en el navegador JavaScript, entonces en este caso ¿cómo se podrían sacar desde el servlet una alerta?

Otro problema, es que cuando se muestra una alerta del javaSript, por ejemplo "Dirección de e_mail no válida", no se detiene en el campo e_mail y eso que hemos puesto focus, llama al servlet que hemos puesto en el FORM ACTION. ¿Es que deberíamos poner algun comando en el JavaScript que detenga la llamada al servlet?

  Respuesta:  uno
tienes q hacer q la funcion q valida el formulario devuelva false si debe dar error de validacion, y ke al detectar el boton ese false el evento q llama la funcion tb devuelva false. Por ej asi:

onClick="if(ControlaMes()==false){return false}

Esto dentro de las etiquetas del objeto boton dentendra hara q no se realice la carga de la siguiente pagina

  Respuesta:  J RC
Vamos por partes. La llamada al servlet os la hace igual porque la teneis puesta como el ACTION del botón. Esto hace que se llama siempre, aun cuando cambieis el foco. La solución: no poder nada en el action y codificar el evebto click del botón, para, si todo está bien validado, realizar la llamada mediante el objeto Document.URL (o algo semejante, no recuerdo con exactitud).
En cuanto al altert, lo único posible sería enviar una página completa de error, o una con una rutina JavaScript en el evento LOAD que abra el alert (pero la pagina sería la generada en el servlet).