Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    onBeforeUnload associato solo alla "x"

    Ciao a tutti!

    Ho un problemino! Ho il seguente evento:
    <BODY bgcolor='9999FF', onBeforeUnload="alert('Are you sure?')">

    che mi fa uscire il messaggio di alert sia quando chiudo la mia finestra con la "x" in alto a destra, sia quando clicco sui tasti "ok" che mi fanno passare a nuove pagine...

    Ci sarebbe un modo per fare in modo che tale messaggioo esca solo quando chiudo la pagina con la "x" e non negli altri casi??

    Ho fatto un po' di ricerca, ma nn trovo nulla che riguardi questo caso particolare.
    Grazie a chiunque possa aiutarmi!

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    ciao mcgyver75,

    se metti l'alert non blocchi l'unload.
    Dovresti fare una funzione di controllo... ti faccio un esempio
    codice:
    <HTML>
    <HEAD>
    <script language="javascript">
    var ConsentiUscita='are you sure?'
    function ControllaUscita(){
    	if(ConsentiUscita!='')return ConsentiUscita
    }
    </script>
    </HEAD>
    <BODY bgcolor='9999FF', onBeforeUnload="return ControllaUscita()"> 
    link
    <form onsubmit="ConsentiUscita=''">
    <input type="submit" name="sub" value="submit">
    </form>
    </BODY>
    </HTML>
    così si può andare al link indicato e fare il submit del form

  3. #3
    Innanzitutto grazie x la risposta che mi ha fatto capire diverse cosette!!!

    Ora però la faccenda si complica...questo è il mio codi ce non -funzionante:

    <HTML>
    <HEAD><TITLE>Login</TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function clicked() {
    for(var i = 0;document.forms.lenght; i++) {
    var e = document.forms.elements[i];
    if ( (e.type == "button") || (e.type == "submit")){
    alert("You clicked a button.");

    }
    else if ( window.document.link == "Logout"){
    alert("You clicked logout link");
    }
    else {
    alert("are you sure?");
    }
    }
    }

    // -->
    </SCRIPT>
    </HEAD>
    <BODY bgcolor='9999FF', onBeforeUnload="clicked()">


    Io dovrei ciclare su tutti i document.form e document.link della pagina, ma credo che come ho definito il ciclo non è corretto!
    Dove sbaglio?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Sfrutta questo esempio:

    codice:
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function pippo() {
    	if (event.x==0 && event.y==0) {
    		alert("addio!")
    	} else {
    		alert("Hai cliccato in "+event.x+"x"+event.y);
    	}
    }
    //-->
    </SCRIPT>
    <BODY onbeforeunload="pippo()" onclick="pippo()">
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Scusami, ma l'esempio che mi hai postato, non lo vedo troppo calzante..

    Io avrei bisogno di visualizzare il messaggio di alert solo quando clicco sul link "Logout" e sulla crocetta di chiusura della pagina, mentre in tutti gli altri casi (bottoni, submit, altri link etc)non deve far nulla (oppure - giusto x prova - deve darmi un msg di alert diverso)...ecco perchè avevo pensato ad un "for" che mi ciclasse su tutti i form della mia pagina web

    Consigli??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.