PHP - Validar un formulario pero sin el "SUBMIT"

 
Vista:

Validar un formulario pero sin el "SUBMIT"

Publicado por DEVILSITO (140 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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

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

Publicado por xve (6935 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