IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Modifier l'event OnbeforeUnload d'une page


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par d�faut Modifier l'event OnbeforeUnload d'une page
    Bonjour,

    Je recherche d�sesp�r�ment un moyen de modifier l'�v�nement onbeforeUnload d'une page dynamiquement.

    C'est � dire que lorsque l'on clique sur un bouton ou autre de la page, l'event soit modifi� pour pr�venir l'utilisateur que s'il quitte la page tout sera perdu.

    D�j�, est ce que c'est possible ?

    En vous remerciant par avance !

  2. #2
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Bonjour,

    Cet �v�nement doit �tre pr�cis� dans le <body>. Le probl�me c'est que toutes les m�thodes pour changer/fermer la page n'activent pas cet �v�nement . Quel code utilisez-vous pour changer de page ?

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par d�faut
    Bonjour,

    D'abord merci pour cette r�ponse matinale !

    J'envisageais d'utiliser le code suivant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    onclick="document.body.onBeforeUnload = 'fermer();'"
    Et la fonction fermer ex�cuterait le message d'alerte pour pr�venir l'utilisateur.

  4. #4
    Expert confirm�
    Avatar de le_chomeur
    Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2006
    Messages
    3 653
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 3 653
    Par d�faut
    pourquoi ne le fait donc tu pas ?

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par d�faut
    �a ne fonctionne pas, alors que l'event change bien, mais quand je quitte la page rien ne se passe.

    Pourtant quand je fait :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert(document.body.onbeforeunload);
    Il me retourne 'fermer();'.

    J'ai oubli� de pr�ciser que je faisais mes essais avec firefox 3.6

    Merci pour le coup de main en tout cas.

  6. #6
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Ha oui, j'en reviens � ma question initiale alors, quelles instructions utilisez-vous pour fermer la page ?

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par d�faut
    Rien de sp�cial, c'est juste l'utilisateur qui quitte la page en cours.

    Et pour le moment pour effectuer mes tests la fonction "fermer()" contient juste un "alert('test');" pour v�rifier qu'elle est bien ex�cut�e. Mais � terme elle permettra de v�rifier qu'un ou plusieurs champs sont bien remplis.

  8. #8
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Citation Envoy� par wylls Voir le message
    Rien de sp�cial, c'est juste l'utilisateur qui quitte la page en cours.
    Comment quitte-t-il la page en cours ? En faisant une action sur la page ou bien en fermant la fen�tre avec la petite croix ?

    Si c'est la premi�re solution, j'aimerais comprendre ce qu'il se passe r�ellement. Un envoi de formulaire, un redirect, un submit par une fonction JS, ... ?

  9. #9
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    �a serait plut�t
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onclick="document.body.onBeforeUnload = fermer;"
    Citation Envoy� par wylls Voir le message
    Mais � terme elle permettra de v�rifier qu'un ou plusieurs champs sont bien remplis.
    Ben oui, mais quel int�r�t puisque de toutes fa�ons tout sera perdu ?

    A+

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par d�faut
    En fait, je pr�vois d'envisager plusieurs cas, car l'utilisateur pourra quitter le formulaire de plusieurs fa�on :

    - Soit en changeant de page, en cliquant sur un lien, c'est l� que j'ai besoin du onbeforeunload
    - Soit en cliquant sur fermer la fen�tre (fen�tre que je cr�e pour lui afficher le formulaire), dans ce cas je mettrai ma fonction femer() sur le bouton de fermeture de fen�tre.

    Sinon, je ne fais pas de formulaire r�ellement, mais une fen�tre avec des champs mis � jour avec ajax, et ajax met � jour les champs d'un enregistrement 'temporaire' dans ma base de donn�es.

    Et si l'utilisateur ne rempli par les champs imp�ratifs, je le pr�viens lorsqu'il quitte la page que l'enregistrement sera supprim� compl�tement s'il ne rempli pas ce ou ces champs.

  11. #11
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut href - onclick
    J'ai d�j� eu des soucis avec les href et onclick sur un lien. Il ne tenait pas compte du onclick ou bien les changements que je voulait effectuer n'�tait pas encore impact� lorsqu'il lan�ait son href.

    Sauirez-vous mettre le "changement de page" dans la fonction fermer() ?

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par d�faut
    D�sol�, mais en te lisant je me suis aper�u que je n''�tais pas tr�s clair sur le point suivant :

    - Soit en changeant de page, en cliquant sur un lien, c'est l� que j'ai besoin du onbeforeunload

    En fait il faut lire n'importe quel lien, il peut quitter la page en changeant de site, ou en changeant de page de mon site. Et donc je ne peux pas modifier tout les liens de ma page.

  13. #13
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut Prout
    Bon, je n'arrive pas � lancer la fonction fermer une fois chang�e via le onclick...

    Par contre, le onBeforeUnload lance lui-m�me un confirmation et requiert donc une valeur de retour. N'oubliez pas le :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    ... onBeforeUnload=return fermer(); ...

  14. #14
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par d�faut
    Merci pour l'info, mais �a ne fonctionne toujours pas, sic !

    En attendant, j'ai mis un div qui bloque toute ma page sauf ma fen�tre, et donc l'utilisateur est oblig� de cliquer sur la croix de ma fen�tre pour virer le div. Et l�, je peux g�rer l'event comme je veux.
    Mais bon, c'est pas terrible comme solution, car il suffit de rafraichir la page....

    Si jamais quelqu'un a une solution, surtout qu'il n'h�site pas ;-).

  15. #15
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Et avec ?
    (JS est sensible � la casse)

    A+

  16. #16
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    A priori non. Je pense qu'il faut regarder du c�t� des <a> et des modifications du body. Il n'a pas l'air de tenir compte soit des modifications du body, soit du body lui m�me lorsqu'on fait un href...

Discussions similaires

  1. le OnBeforeUnload dans une page .ascx
    Par zaineb.z dans le forum ASP.NET
    R�ponses: 8
    Dernier message: 15/04/2008, 16h58
  2. Modifier toutes les URL d'une page apres chargement.
    Par landsteph dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 25/08/2007, 21h11
  3. [Web] Modifier un document XML via une page Web
    Par Oli_Ifre dans le forum APIs
    R�ponses: 1
    Dernier message: 26/04/2007, 09h30
  4. JSF + Tiles, modifier seulement le body d'une page
    Par LeVickingRoux dans le forum JSF
    R�ponses: 1
    Dernier message: 14/02/2007, 13h08
  5. modifier color de scroll d'une page web+horloge[html+javasc]
    Par am.adnane dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 13/12/2005, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo