Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/04/2012, 13:49
ARAPSPGON
 
Fecha de Ingreso: octubre-2007
Mensajes: 57
Antigüedad: 16 años, 7 meses
Puntos: 0
Pregunta Respuesta: Submit y funcion ajax no funcionan

Grcias por la respuesta, pero por mucho punto y coma que ponga sigue igual, no funciona...no recoge los datos de procesar.php e incluso muestra procesar.php como si no hubiese ajax.

si quito del tag form el action y en ajax especifico el archivo sin usar attr, tampoco funciona al hacer submit.

Código PHP:
<form id="f1" method="post">
....

$.
ajax({ 
                    
type "POST"
                    
url "procesar.php",
....... 

es raro porque al usar el plugin validate de jquery si que funciona bien:

Código PHP:
<!DOCTYPE html>
<
html>
<
head>
    <
meta charset="utf-8" />
    <
title>Page Title</title>
    <
style type="text/css" rel="stylesheet">
        
#carga{
            
displaynone;
        }
    </
style>
    <
script type="text/javascript" src="lib/jquery-1.7.1.js"></script>
    <script type="text/javascript" src="lib/jquery.validate.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#f1").validate({
                rules: {
                    idname: {
                        required: true
                    },
                    idemail: {
                        required: true
                    }
                },    
                messages: {
                    idname: {
                        required: "Campo requerido"
                    },
                    idemail: "Introduce email",
                } 
            });
               
        })
        
        $.validator.setDefaults({
            submitHandler: function() {
                 $.ajax({
                    type : "POST",
                    url : "procesar.php",
                    data : $("#f1").serialize(),
                    dataType: "html",
                    beforeSend: function(){
                        $("#principal").fadeOut();
                        $("#carga").fadeIn();
                    },
                    success: function(data){
                        $("#carga").fadeOut();
                        $("#principal").fadeIn(1000,function(){
                            alert(data);
                        });
                        
                    }
                })     
            }
        });
    </script>
</head>
<body>
    <div id="principal">
        
        <form id="f1">
            <label for="idname">Nombre (requerido)</label> 
            <input type="text" name="idname" id="idname" value="" /> 

            <label for="idemail">E-Mail (requerido)</label> 
            <input type="text" name="idemail" id="idemail" value="" />
            
            <input class="entrar" type="submit" name="entrar" value="Entrar" /> 
        </form>
    </div><!-- final principal -->
    <div id="carga">
            <img src="img/ajax-loader.gif" /> Cargando...
    </div>

</body>
</html> 
No entiendo porque así si que funciona pero sin usar el plugin validate y usando solo el evento submit no funciona el ajax...