Foros del Web » Programando para Internet » Javascript »

Doble confirmacion de borrado ¿como?

Estas en el tema de Doble confirmacion de borrado ¿como? en el foro de Javascript en Foros del Web. Queria hacer un codigo para que cuando vayas a borrar algo de una base de datos echa por php, te salte un mensaje tal que ...
  #1 (permalink)  
Antiguo 21/05/2010, 11:23
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 9 meses
Puntos: 5
Doble confirmacion de borrado ¿como? [SOLUCIONADO]

Queria hacer un codigo para que cuando vayas a borrar algo de una base de datos echa por php, te salte un mensaje tal que asi

"¿Estas seguro de que quieres borrar "x" registro? "
Luego te de una opcion de o borrar o cancelar y si le das a borrar
Que te aparezca un mensaje tal que asi

"¿seguro seguro, ya no hay vuelta atras?"

Y si ya le das a aceptar entonces y solo entonces te borra ese registro.

Yo hasta ahora he usado este codigo

onclick="if(!confirm('¿Estas seguro de borrar <?php echo $total?> registros?'))return false">

pero para que me haga una doble confirmacion de borrado por mas que intento no funciona, despues del primera aceptar ya borra.

¿Como lo podria hacer con doble confirmacion?
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333

Última edición por neoarcangel; 23/05/2010 a las 17:30
  #2 (permalink)  
Antiguo 21/05/2010, 17:36
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Doble confirmacion de borrado ¿como?

Algo así como
Código Javascript:
Ver original
  1. if(confirm('¿Estas seguro de borrar <?php echo $total?'){
  2.  if(confirm('¿seguro seguro, ya no hay vuelta atras?'){
  3.   return true;
  4.  }else{
  5.     return false;
  6.    }
  7. }else{
  8.  return false;
  9. }
Saludos (;
  #3 (permalink)  
Antiguo 21/05/2010, 17:58
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 9 meses
Puntos: 5
Respuesta: Doble confirmacion de borrado ¿como?

Cita:
Iniciado por _cronos Ver Mensaje
Algo así como
Código Javascript:
Ver original
  1. if(confirm('¿Estas seguro de borrar <?php echo $total?'){
  2.  if(confirm('¿seguro seguro, ya no hay vuelta atras?'){
  3.   return true;
  4.  }else{
  5.     return false;
  6.    }
  7. }else{
  8.  return false;
  9. }
Saludos (;

En principio seria algo asi pero no funciona, ni siquiera me aparece el msgbox, lo he probado en firefox y en internet explorer y en ninguno va.
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #4 (permalink)  
Antiguo 21/05/2010, 18:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Doble confirmacion de borrado ¿como?

intenta de esta forma. por supuesto, va dentro de tu funcion o evento.
Código:
return confirm("primer mensaje")? confirm("segundo mensaje"): false;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 22/05/2010, 20:42
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 9 meses
Puntos: 5
Respuesta: Doble confirmacion de borrado ¿como?

Cita:
Iniciado por zerokilled Ver Mensaje
intenta de esta forma. por supuesto, va dentro de tu funcion o evento.
Código:
return confirm("primer mensaje")? confirm("segundo mensaje"): false;

Me funciona pero con algún error, ya que si le das a aceptar obviamente te elimina lo que le has puesto pero si le das a cancelar también te lo elimina, y no sé muy bien como hacerlo

Este es todo el codigo.

Código PHP:
<script type="text/javascript">
function 
borrandoimagenes()
{      return 
confirm("¿Estas seguro de eliminar esta imagen?")? confirm("¿Seguro seguro?"): false;      }
</script>

echo '<div id="flotaizda2">';
    echo '<a href="index.php?p=actualizaimgpequena.php&codimagen='.$registros["codimagen"].'&personaje='.$registros["nombre_personaje"].'"><img src="imagenes/imagenespequenas/'.$registros["nombre_imagen"].'" width="50" height="50" border="0"/></a>
            <a  href="index.php?p=borrandoimagenespequenas.php&codimagen='.$registros["codimagen"].'&personaje='.$registros["nombre_personaje"].'"  onclick="borrandoimagenes();" ><img src="imagenes/delimg.png" width="20" border="0" /></a>' ;
    echo '</div>'; 
Haga lo que haga siempre pero siempre se me ejecuta esta linea

Código PHP:
 href="index.php?p=borrandoimagenespequenas.php&codimagen='.$registros["codimagen"].'&personaje='.$registros["nombre_personaje"].'" 
Y la idea es que solo se ejecute si aceptas si cancelas no se deberia ejecutar.
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #6 (permalink)  
Antiguo 22/05/2010, 20:55
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Doble confirmacion de borrado ¿como?

eso porque en la siguiente porcion no estas devolviendo lo que devuelve la funcion. considera que los eventos son como funciones, de modo que al devolver un boolean -en algunos eventos- se cancela o se admite el proceso.
Código:
... onclick="borrandoimagenes();" ...
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 22/05/2010, 21:12
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 9 meses
Puntos: 5
Respuesta: Doble confirmacion de borrado ¿como?

Ahora no comprendo lo que comentas ¿podrias explicarlo un poco mejor?

Si no pongo onclick="borrandoimagenes();, en el a href no se podrá ejecutar la funcion cuando le de al click y esa es la idea...no entiendo muy bien a que te refieres.
¿Como deberia hacerlo para que funcionase en el enlace?
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #8 (permalink)  
Antiguo 22/05/2010, 21:30
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Doble confirmacion de borrado ¿como?

para que puedas visualizarlo... como decia, los eventos son funciones. cuando se define un evento en HTML es similar a crear una funcion anonima para el evento desde javascript.
Código:

// en html, siendo element un elemento cualquira, e event un evento cualquiera;
<element event="...">

// en javascript, siendo element la referencia a un elemento, e event un evento;
element.event = function(){
...
}
en esta representacion, el uno vendria siendo similar al otro, solo que uno en HTML y el otro en javascript. aplicado a tu caso, asi es como se representaria tu codigo.
Código:
// en html;
<a ... onlick="borrandoimagenes();">...</a>

// en javascript, asumiendo que link es la referencia del enlace;
link.onclick = function(){
borrandoimagenes();
}
entonces, ¿que sucede? tu funcion borrandoimagenes devuelve un boolean al cuerpo del evento pero ese cuerpo no esta devolviendo ese boolean, ya sea para cancelar el evento o permitirlo. al no devolverlo, el evento efectua su proceso predeterminado. por tanto, te falta devolver ese boolean desde el cuerpo del evento.
Código:
// siendo function_call una funcion que se invoca en el evento para realizar un proceso que tu hayas determinado.
// en tu caso seria los mensajes de confirmacion;
// en html;
<element event="return function_call();">

// en javascript se representaria asi;
element.event = function(){
return function_call();
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 22/05/2010, 21:41
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 9 meses
Puntos: 5
Respuesta: Doble confirmacion de borrado ¿como?

Buuu, que verde estoy en esto de javascript, a ver si te comprendo, lo que me estas diciendo es que cree una llamada en el onclick del a href que a su vez será llamado por una funcion que lo unico que hará será almacenar esa llamada ¿no?

De todas formas no sé muy bien como hacer eso...¿seria algo asi?
Cita:
borrandoimagenes(){
return confirm("primer mensaje")? confirm("segundo mensaje"): false;

href="index.php?p=borrandoimagenespequenas.php&cod imagen='.$registros["codimagen"].'&personaje='.$registros["nombre_personaje"].'"

return borrandoimagenes();
}

<a onclick="borrandoimagenes();" ><img src="imagenes/delimg.png" width="20" border="0" /></a>' ;
Me parece muy raro esto, aunque puede tener algo de sentido pero me parece raro
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #10 (permalink)  
Antiguo 22/05/2010, 21:49
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Doble confirmacion de borrado ¿como?

¡no, parece que te confundi mas de lo que estabas! ¡bien verde que estas! lo que queria hacerte entender era por qué no te funcionaba pero parece que aun no tienes un concepto muy claro acerca de las funciones de javascript. en todo caso, como quien dice en la ultima representacion te mostre la solucion. lo unico que tenias que hacer era agregar "return " antes de la invocacion de tu funcion en el evento onclick.
Código:
<a ... onclick="return borrandoimagenes();">...</a>
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 22/05/2010 a las 21:54
  #11 (permalink)  
Antiguo 23/05/2010, 16:31
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 9 meses
Puntos: 5
Respuesta: Doble confirmacion de borrado ¿como?

Ok, parece que funciona perfecto gracias, voy a echarle un vistazo al tema de las funciones por que resulta interesante, pero desconocia que se tuviese que poner también el return al llamar a la funcion.

Lo dicho gracias, aclarado el tema.
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333

Etiquetas: borrado, confirmacion, doble
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:02.