AJAX - Para que funcione la funcion tengo que recargar la pagina

 
Vista:
sin imagen de perfil

Para que funcione la funcion tengo que recargar la pagina

Publicado por Sergio (5 intervenciones) el 27/06/2017 18:45:38
Saludos, tengo este código ajax que funciona a medias, el php funciona bien retorna los tres echos y hace su funcion, el problema es que cuando guardo un registro, por ejemplo, sale en el <div id="alerta"></div> bien, el problema viene que vuelvo a meter otro registro, lo guarda pero no sale nada en el div, para que salga tengo que recargar la pagina. NO se si me he explicado bien, gracias de antemano.

1
2
3
4
5
6
7
8
9
<form id="frm3"><fieldset>
           <div class="form-group">
            <label for="cp">Codigo Postal:</label>
            <input type="text" id="cp" name="cp" class="form-control" placeholder="Introduce un Codigo Postal">
            <br>
            <a id="añadircp" class="btn btn-lg btn-outline btn-success">AñadirCP</a>
          </div>
         <div id="alerta"></div>
</fieldset></form>
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
37
38
39
40
$('document').ready(function(){
    $("#añadircp").click(function(){
      var frm3 = $("#frm3").serialize();
            $.ajax({
            type: 'POST',
            url: 'db-admin/añadir-registro-cp.php',
            data: frm3,
            success: function(respuesta){
              if(respuesta == 1)
              {
                  var resultado = "El registro ha sido satisfactorio.";
 
 
                        //$( "#alerta" ).addClass( "alert alert-error collapse" );
                        $( "#alerta" ).html( resultado );
                        $( "#alerta" ).fadeOut( 7000 );
 
              }
               if(respuesta == 2)
              {
                  var resultado = "Ese Código Postal ya existe en la base de datos.";
                        //$( "#alerta" ).addClass( "alert alert-error collapse" );
                        $( "#alerta" ).html( resultado );
                        $( "#alerta" ).fadeOut( 7000 );
                }
 
                if(respuesta == 3)
              {
                  var resultado = "Todos los campos deben estar rellenos.";
                        //$( "#alerta" ).addClass( "alert alert-error collapse" );
                        $( "#alerta" ).html( resultado );
                        $( "#alerta" ).fadeOut( 7000 );
              }
 
            }
        });
         return false;
    });
 
});
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: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Para que funcione la funcion tengo que recargar la pagina

Publicado por xve (222 intervenciones) el 27/06/2017 20:34:48
Hola Sergio, cuando le das al fadeOut(), lo que haces es que escondes el div, por lo que cualquier cosa que pongas en dicho div no se visualizara.
Una vez hayas puesto el contenido indicale .show()... algo así:

1
2
3
$( "#alerta" ).html( resultado );
$( "#alerta" ).show();
$( "#alerta" ).fadeOut( 7000 );

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
1
Comentar
sin imagen de perfil

Para que funcione la funcion tengo que recargar la pagina

Publicado por Sergio (5 intervenciones) el 27/06/2017 20:48:55
Gracias por contestar, ha salido perfecto, como me has dicho $( "#alerta" ).show();, no lo probé, por que el div no estaba oculto y pensé que no le hacia falta, gracias, llevo toda la tarde con esto.
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