Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/10/2006, 01:53
Avatar de isaacluz
isaacluz
 
Fecha de Ingreso: marzo-2005
Mensajes: 180
Antigüedad: 20 años
Puntos: 0
Saludos.
Alguna vez me encontré con el mismo problema, y hacer un onUnload o un onBeforeUnload no funciona, porque a fin de cuentas si le dan submit a la forma, el evento onUnload se disparará de todos modos.

Lo mas factible seria que a cada link le pusieras un
Código:
onClick="return VerificaDatos()"; 
para que verificara los campos de tu forma, pero si por alguna razón es demasiado engorroso cambiar todos los links, aqui te pongo un script de ejemplo para añadir el evento onClick a todos los links de tu pagina

Date cuenta de que el segundo script está al final del documento, si lo pones antes no leerá todos los links de tu pagina

Código HTML:
<html>
<script>
function VerificaDatos(){
     // AQUI EN VEZ DE ESTO HAS LA COMPROBACIÓN DE LOS CAMPOS DE TU FORMA
    AlgoHaCambiado = true;
    ////////////////////////////////////////////////////////////////////
    // ESTA ES LA CONFIRMACION FINAL
    if(AlgoHaCambiado){
        return confirm('Esta seguro de que desea salir sin guardar sus cambios?');
    }else{
        return true;
    };
};
</script>
<body >
<a href="http://forosdelweb.com">Link 1</a><br>
<a href="http://google.com">Link 2</a><br>
<a href="http://isaacluz.com">Link 3</a>
<script>    
    // OBTENEMOS EL ARRAY DE LOS ENLACES EN LA PAGINA
    Enlaces = document.links;
    // A CADA ENLACE LE PONEMOS LA FUNCION PARA VERIFICAR LOS DATOS
    for(i=0;i<Enlaces.length;i++){
        Enlaces[i].onclick =function(){return VerificaDatos()};
    };
    
    
</script>

</body>
</html> 
__________________
Regala un pescado a un hombre y lo alimetarás un día, enseñale a pescar y lo alimentarás toda su vida, no contestes su post y se enojará.