PHP - Validar un formulario pero sin el "SUBMIT"

   
Vista:

Validar un formulario pero sin el "SUBMIT"

Publicado por DEVILSITO (141 intervenciones) el 27/04/2014 04:17:41
Por lo general un href. deriva la acción a un url y el programa sigue el flujo normal.
Pero lo que no he podido realizar, es que a partir de este href, vaya a un PHP y que este devuelva 1 si ha encontrado un usuario en una base de datos y 2 si no lo ha encontrado.
La forma que inicialmente probé fue con javascript:

1
2
3
4
function validar(varx) {
alert("El valor de la variable es: "+varx);
// aquí deberia ir el código que llama a un PHP, busca en una base de datos y devuelve el resultado de 1 si tubo exito y dos si ha fracasado. En esta última opción deberia desplegarse un ALERT de JS diciendo que no hubo éxito.
}

La forma de pasar la variable varx es:
<a href="#" onclick='return validar(<?php echo $cod_usu ; ?>)'>Busca el usuario</a>

Hasta aquí funciona correctamente pues muetra el ALERT de JS indicando el valor de la variable $cod_usu, pero no he conseguido formar el código ( JS con AJAX) para que realice el trabajo de ir al PHP y capturar lo que este eventualmente entregaria.

Lo curioso es que cuando se trata de un boton input type="submit" uno encuentra en los foros bastante material, es mas, yo lo tengo implementado en varias paginas (JS con AJX), pero mi actual script solo tiene HREF y es lo que necesito.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Validar un formulario pero sin el "SUBMIT" con ajax (jquery)

Publicado por xve (5519 intervenciones) el 27/04/2014 11:21:30
Hola, la manera es tal y como tu dices, con AJAX...

Yo en mi caso, utilizo jquery por su sencillez...y devuelvo los parámetros en formato json.

En vez de utilizar un <input type="submit"... tambien puedes utilizar el <input type="button"... que no hace el submit para enviar el formulario.

La parte del ajax con jquery, seria algo tan sencillo como:


Página html donde esta el formulario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8">
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script>
    function validar()
    {
        // hacemos la llamada al archivo php pasando por post el nombre del
        // usuario
        $.post("validar.php", {nombre:$("#nombre").val()}, function(data){
            if(data.validado==1)
            {
                // el usuario esta validado
                $("#respuesta").html(data.texto);
            }else{
                // el usuario no esta validado
                $("#respuesta").html(data.texto);
            }
        }, "json");
    }
    </script>
</head>
 
<body>
 
<form onsubmit="return false">
    Introduce el nombre a validar: <input type="text" value="" id="nombre">
    <input type="submit" value="validar" onclick="validar()">
</form>
 
<!-- mostramos la respuesta recibida por ajax -->
<div id="respuesta"></div>
 
</body>
</html>

Archivo validar.php donde se encuentra el código php que valida el usuario (En este archivo, te puedes conectar con la base de datos, etc... para validar el usuario correctamente):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if($_POST["nombre"])
{
    $resultado=array(
        "validado"=>1,
        "texto"=>"Usuario validado"
    );
}else{
    $resultado=array(
        "validado"=>0,
        "texto"=>"Indica un nombre de usuario"
    );
}
echo json_encode($resultado);
?>


Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar