Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2014, 13:05
rubiomike
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Pregunta Cuadro de dialogo para confirmar o cancelar

Hola a todos, estoy intentando realizar un cuadro de dialogo de confirmación que se muestre al pulsar sobre un determinado elemento, en este caso, sobre un link para borrar un registro. Dicho cuadro muestra un mensaje que indica si realmente se desea borrar dicho registro y dos botones: uno para aceptar y otro para cancelar.

El problema está en que no encuentro la forma de hacerlo para que al pulsar sobre aceptar se ejecute una función que se encargue de borrar dicho registro, bueno, en realidad lo que no consigo es poder pasar la variable que indica el proceso que se debe ejecutar. Se que existen plugins para hacer cuadros de dialogo, pero me gustaría aprender a hacerlos yo.

Pongo el código que uso:

El HTML sería algo así

Código HTML:
Ver original
  1. <a href="proceso.php?id=1" class="eliminar">Eliminar Post</a>

Despues uso jQuery para que se muestre el cuadro de dialogo y los dos botones:

Código Javascript:
Ver original
  1. $('.eliminar').click(function(event){
  2.  
  3.     event.preventDefault();
  4.  
  5.     var href   =   $(this).attr('href'); //recogemos la dirección del Proceso PHP
  6.  
  7. //mostramos el cuadro de dialogo con los botones
  8.  
  9.     $('#dialog').fadeIn(400, function() {
  10.       $(this).html('¿Realmente desea eliminar este post?<br><br>');
  11.       $(this).append("<input type='button' id='ejecutar_proceso'  value='Aceptar'>");
  12.       $(this).append("<input type='button' id='cerrar_dialogo'  value='Cancelar'>");
  13.     });    
  14.  
  15. });

Ahora uso .on de jquery para capturar el evento, y defino las funciones que se deben ejecutar en cada caso

Código Javascript:
Ver original
  1. $('#dialog').on("click", "#ejecutar_proceso", ejecutar);
  2. $('#dialog').on("click", "#cerrar_dialogo", cerrar);
  3.  
  4. //función que sirve para cerrar el cuadro de dialogo
  5.     function cerrar() {
  6.       $('#dialog').fadeOut();
  7.     }
  8.  
  9. //función para ejecutar el proceso
  10.     function ejecutar(){
  11.       alert(href);
  12.     }

Por simplicidad en la función ejecutar he puesto un simple alert, el problema es que no se como hacer para recoger la variable href en la función ejecutar. He intentado usar la función en línea utilizando el evento onclick, pero en ese caso me indica que la función no se encuentra definida. La función cerrar funciona perfectamente y oculta el cuadro de diálogo.

¿Puede alguien echarme una mano por favor?

Gracias a todos