Confirmando la eliminación de un registro con Javascript
Estoy trabajando en un sistema web administrativo y como todo tiene un aspecto de actualización de registros. Y para hacerlo más consistente y seguro, quise agregar estabilidad del lado del cliente mediante javascript. Gracias a los amigos de PHP-Hispano pude probar algunos métodos. Voy a explicar los métodos expuestos, cuáles fueron los resultados y finalmente cual fue la solución.
Redireccionamiento mediante javascript
Una de las formas que probé, fue utilizar una función javascript que me mostrará un confirm y según la respuesta, me redireccionará al archivo que me permitiera eliminar el registro o sencillamente no hiciera nada.
Aquí tienen el código:
function preguntar(){
eliminar=confirm("¿Desea eliminar este registro?");
if (eliminar)
//Redireccionamos si das a aceptar
window.location.href="delete.php?id=valor";
//pagina web a la que te redirecciona si confirmas la eliminacion
else
//Y aqui pon cualquier cosa que quieras que salga si le diste al boton de cancelar
alert('No se ha podido eliminar el registro...');
}
Y en el enlace va esto:
<.a href="javascript:preguntar()">Eliminar<./a>
Al presionar el botón cancelar todo funcionaba impecable, pero cuando presionaba aceptar aparecían los problemas. No se porque razón al pasar a la página delete.php, la sesión se perdía. Asi que desistí de este método.
Usando onClick y un archivo .js
El otro método que use fue usando la función onClick. Aquí les dejo el código:
function confirmDel() {
var agree=confirm("¿Realmente desea eliminarlo? ");
if (agree) return true ;
else return false ;
}
Y en el enlace:
<.a onclick="confirmDel();" href="delete.php?id=valor">Eliminar<./a>
Este método tampoco me funcionóno porque no importando el botón que presionara, el registro era eliminado.
Usando onClick y confirm en el mismo enlace
Hasta que llego la forma que por lo menos a mi me funcionó. Simplemente coloque el confirm en el mismo onClick. De esa manera cuando presiono sobre el cancelar, no realiza ninguna operación y cuando presiono sobre el aceptar va a delete.php y elimina el registro.
Aquí tienen el código:
<.a onclick="return confirm('¿Desea eliminar este registro?')" href="delete.php?id=valor">Eliminar<./a>
Simple no. Pues bien, espero que les sirva de algo el tips y si tienen sugerencias o cosas que debo corregir sólo posteen.