Foros del Web » Programación web » Javascript »

Confirmar salir o no de una página, como ???

Estas en el tema de Confirmar salir o no de una página, como ??? en el foro de Javascript en Foros del Web. Como le hago para que al momento de que quieran salir de una ventana pulsando cerrar(crucesita) mandarle la usuario una confimación de si está seguro ...
  #1 (permalink)  
Antiguo 04/10/2007, 11:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Confirmar salir o no de una página, como ???

Como le hago para que al momento de que quieran salir de una ventana pulsando cerrar(crucesita) mandarle la usuario una confimación de si está seguro de salir o no, como lo haria ????

E visto en las faq's pero utilizan el botón de un formulario y yo no quiero eso hay otra forma de hacerlo ???
  #2 (permalink)  
Antiguo 05/10/2007, 06:34
Avatar de AlvaroG
/bin/env python
 
Fecha de Ingreso: julio-2005
Ubicación: Canelones, Uruguay
Mensajes: 7.632
Antigüedad: 9 años, 1 mes
Puntos: 587
Re: Confirmar salir o no de una página, como ???

No se puede controlar los botones del navegador o de su ventana, solo se puede tener control sobre los elementos de la página.

Para ejecutar algo al momento de abandonar la página existe el evento onUnload (para BODY), pero no te serviría para evitar el cierre de la ventana en caso de que el usuario eligiera cancelar el cerrado.

Quizás si especificás por qué querés hacer esto, se te pueda dar una opción que logre el mismo efecto.


Saludos.
__________________
blog ElCodiguero
  #3 (permalink)  
Antiguo 05/10/2007, 14:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Re: Confirmar salir o no de una página, como ???

Esto lo quiero hacer porque los datos que se muestran los guardo en una Base de Datos y quiero borrar esos datos cuando el cliente salga del carrito sin hacer la compra.

El onUnload sirve para IE, Mozzila, FireFox y demás o hay algún problema ???

Thanks
  #4 (permalink)  
Antiguo 05/10/2007, 19:48
Avatar de AlvaroG
/bin/env python
 
Fecha de Ingreso: julio-2005
Ubicación: Canelones, Uruguay
Mensajes: 7.632
Antigüedad: 9 años, 1 mes
Puntos: 587
Re: Confirmar salir o no de una página, como ???

Sí sirve para todos los navegadores que soporten javascript, aunque como suele ser molesto es de las primeras cosas que los bloqueadores de publicidad bloquean.

Creo que entiendo el problema, sin embargo creo que la mejor solución (al menos la mejor que se me ocurre ahora) es crear un parámetro en la base de datos que especifique que el registro es "temporal", no definitivo.

Luego cada cierto tiempo, o cuando quieras, podrías fácilmente hacer una limpieza de los datos temporales de la tabla.

Me parece más sencillo y confiable. Claro que la parte de lo "sencillo" dependerá de cuál sea la complejidad del sistema actual...


Saludos.
__________________
blog ElCodiguero
  #5 (permalink)  
Antiguo 09/10/2007, 12:25
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Re: Confirmar salir o no de una página, como ???

Y como podría obtener en el código php el índice seleccionado en javascript??? o de que froma puedo solucionar esto ?? dejo el código de la función en javascript para que lo cheques o lo chequen:

Código:
<script LANGUAGE="JavaScript">
function confirmBorrar()
{
   id=artic.selectIndex;
   lista=document.getElementById("id");
   valor=artic.options[id].value;
 var agree=confirm("Está seguro de eliminar este registro? Este proceso es irreversible.");
  if (agree)
   {
   				var pagina="http://localhost/www/carrocomp.php"
					function redireccionar() 
					{
					location.href=pagina
					} 
					setTimeout ("redireccionar()",0000);
</script>					
					<?php
			   //$arti=$_POST['artic'];
			   //$costo=$_POST['costounid'];
			   $_SESSION['ArticB']=$_POST['nomb'];
			   $_SESSION['Prec']=$_POST['prec']; 
			   $arti=$_SESSION['ArticB'];
			   $costo=$_SESSION['Prec'];
			   if($arti == $costo)
			    {
			  	 $quitar="DELETE FROM carro_compra WHERE id_art='$arti' AND id_art='$costo'";			   
      					
	  			}
					?>
<script LANGUAGE="JavaScript">					
   }
    else
	  alert('Debe aceptar o Seleccionar un artículo para poder Eliminarlo');				
       return false ;
   }
</script>
La llamada a la función la hago desde un botón del formulario:
Código:
<input type="button" name="quitar" value="Eliminar" onClick="confirmBorrar()">
La información del artículo como el nombre y precio lo saco de una tabla con código PHP.
Espero y puedan ayudarme
  #6 (permalink)  
Antiguo 10/10/2007, 06:01
Avatar de AlvaroG
/bin/env python
 
Fecha de Ingreso: julio-2005
Ubicación: Canelones, Uruguay
Mensajes: 7.632
Antigüedad: 9 años, 1 mes
Puntos: 587
Re: Confirmar salir o no de una página, como ???

¿Estás haciendo que un "if" de Javascript controle ejecución de código PHP?

Eso no se puede hacer. Puesto así, el código PHP se va a ejecutar siempre.

Separá las páginas. que el código encargado de eliminar los datos sea una página aparte, a la que se redirija primero y luego vuelva.

Además, si estás enviando un formulario, no uses un "type=button" sino "type=submit", y que el control se haga en el evento onSubmit del formulario.


Saludos.
__________________
blog ElCodiguero
  #7 (permalink)  
Antiguo 10/10/2007, 08:33
 
Fecha de Ingreso: octubre-2006
Ubicación: Guadalajara, Mexico
Mensajes: 177
Antigüedad: 7 años, 10 meses
Puntos: 0
Re: Confirmar salir o no de una página, como ???

Una pregunta este codigo que pones es de un archivo JavaScript? .js? o de PHP?
  #8 (permalink)  
Antiguo 10/10/2007, 17:09
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Re: Confirmar salir o no de una página, como ???

Es de un archivo php, lo estoy haciendo en dreamweaver
  #9 (permalink)  
Antiguo 10/10/2007, 18:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 14
Antigüedad: 7 años
Puntos: 0
Re: Confirmar salir o no de una página, como ???

Has probado hacer la eliminacion de datos en un archivo a parte mediante ajax?
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 12:59.
SEO by vBSEO 3.3.2