Validación en tiempo real en jsp

Me encuentro desarrollando una aplicación en jsp y servlet con gestor de datos Mysql en la cual tengo un formulario de registro, el formulario tiene sus respectivas validaciones y en el momento se encuentra funcionando.

El problema radica en que el formulario es un poco largo y es incomodo para el usuario cuando termina de llenar todos los capos y da siguiente y le genera la validación del nombre que ya está ocupado.

Mi Pregunta es.

Como puedo hacer para generar una validación en tiempo real, Que me diga si el Nombre ingresado por el usuario Existe o no Existe,

1 Respuesta

Respuesta

Debes utilizar Ajax con Jquery, para hacer una petición asíncrona al servidor, para validar si el nombre de usuario existe.

Más o menos así:

formulario.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<! DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <script src="//code.jquery.com/jquery-1.10.2.js"></script>
        <script type="text/javascript">
            $(function() {
                $("#username").change(function() {
// ajax                 
                    $.ajax({
                        type: "POST",
                        url: "ajax.jsp",
                        data: {username: $("#username").val()}
                    })
                            .done(function(msg) {
                                if (msg === "si")
                                {
                                    alert("El nombre (" + $("#username").val() + ") ya existe.");
                                }
                            });
                });
            });
        </script>
    </head>
    <body>
        <form action="miservlet" method="POST">
            Usuario: <input type="text" name="username" id="username" value="" /><br>
            Nombre: <input type="text" name="firstname" id="firstname" value=""/><br>
            Appelido <input type="text" name="lasttname" id="lasttname" value=""/><br>
            <input type="submit" value="Enviar" />
        </form>
    </body>
</html>

ajax.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%><%
    String usuario = "";
    usuario = request.getParameter("username");
    if (usuario.equals("pepe")) {
        out.print("si");
    } else {
        out.print("no");
    }
%>

Asegúrate que no queden espacios ni antes ni después de imprimir la cadena en el archivo ajax.jsp.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas