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.
4 Comentarios:
El penúltimo método (el último fallido) al parecer debería ser implementado utilizando una variable global como document, por ejemplo utilizar document.validacion = true; en el archivo .js para luego colocar onClick="confirmDel(); return document.validacion" en la etiqueta que hace la redirección hacia delete.php, así generas un código más limpio y más entendible separando un poco el código javascript de cliente de las rutinas de php del servidor.
Gracias por el aporte y la corrección.
�Alguien corrigi�ndolo?... ahora s� que es humano... jajaja xD
Wena wena, no sab�a que ten�a Blog.
Lo invito a mi espacio, es mi segundo lado reflexivo y de comunicaci�n al resto, despu�s de Flog obviamente, que es mi principal "Centro de Operaciones".
Lo agregu� en la plantilla de mi Blog a los favoritos.
Espero estar en los suyos.
Le� m�s abajo sobre su hijo. Me alegro mucho =)
Voy a regalarle un escrito con sentido espiritual, algo que quiero cantarle personalmente a mi hijo cuando nazca, pero que al leerlo s� que usted lo entender� muy bien. Comp�rtalo con su se�ora si quiere ^___^
�Saludos!, y muchas bendiciones.
Gonzalo
Salmo 126, 5
Gracias gonzalo por tus palabras. Y bueno sobre el post, en realidad tengo mucho que mejorar, y todas las correcciones y sugerencias son bienvenidas en mi vida.
Saludos
Publicar un comentario
<< Home