Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Botón para eliminar que muestre una alerta en vez de cargar otra página

25 de noviembre de 2015

Hola buenas tengo una tabla en HTML. Una de las columnas tiene un botón para eliminar registros:

<a href="archivo.php">
    <button type="button" class="btn btn-danger" title="Eliminar Autorización">
        <i class="entypo-cancel"></i>
    </button>
</a>

Cuando haces click elimina el registro pero te manda a un archivo que conecta con un webservice que te responde así:

return_value:1 (si es que la ha eliminado)
return_value:0 (si no la ha eliminado por cualquier motivo que no viene al caso)

Bueno lo que me gustaría conseguir es que cuando le doy al botón no cambiara de pagina y saliera una alerta tipo asi:

<div id="myAlert" class="alert success fade" data-alert="alert">El registro se ha leminado satisfactoriamente.</div>
 
<script>
function showAlert() {
    $("#myAlert").addClass("in");
}
 
window.setTimeout(function () {
    showAlert();
}, 3000);
</script>

¿Cómo podria conseguir esto??


Respuestas

#1

En primer lugar, parece que estás eliminando contenidos con una ruta que se accede mediante GET. En otras palabras, en vez de pinchar un enlace para acceder a una URL y así conseguir que se borre un elemento, deberías crear un formulario con un botón que al pincharlo haga una petición POST a esa misma URL.

En cualquier caso, obviando lo anterior, si quieres realizar acciones sin recargar la página, tienes que usar Ajax. En este capítulo del libro de Ajax se explica con detalle, pero básicamente puedes hacer esta prueba rápida para ver el resultado y luego ya lo retocas para mostrar la alerta:

<script>
$(document).ready(function() {
    $('#el-id-del-boton').click(function() {
        $.get('archivo.php', { id: '...' }, function(respuesta) {
            alert(respuesta);
        });
    });
});
</script>

@javiereguiluz

25 noviembre 2015, 12:05