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 :

onunload window open


Sujet :

JavaScript

Vue hybride

rexxys onunload window open 03/10/2013, 18h50
Watilin Bonsoir, pour mieux... 03/10/2013, 22h58
rexxys fonction 04/10/2013, 06h58
rexxys developpement 04/10/2013, 11h14
Watilin Normalement ça marche si on... 04/10/2013, 13h15
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 20
    Par défaut onunload window open
    Bonjour,
    voila ma problematique, (je precise je suis developpeur du dimanche donc pas bon du tout )

    j'aimerais lancer
    onunload="window.open('http://www.nomdusite.com');".

    ouvrir une page si la personne sort de la page
    ça c"est facile (a mettre dans le body)

    mais en faite je voudrais autoriser l'ouverture de la nouvelle page que si il n' as pas remplis le formulaire de la page sur laquelle il se trouve

    un truc du type si un champs du formulaire pas remplis et qu'il quitte la page alors on ouvre la nouvelle page , si non (champs du formulaire remplis et qu'on quitte la page) on ouvre pas la nouvelle page

    il doit falloir faire un code dans le genre
    voir une fonction mais la je suis un peu trop novice
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(f.nom.value == "")
            {
            $ouvpage="window.open('http://www.nomdusite.com');"
            }
    else {  $ouvpage=";"
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onunload=$ouvpage>
    si quelqu'un peu m'aider
    merci

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Bonsoir,
    pour mieux t'organiser je te conseille de ne pas mélanger tes codes JS et PHP. Tu peux faire tout en JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    window.onunload = function( ){
      if (!f.nom.value) {
        window.open("http://www.nomdusite.com");
      }  
    }
    Ou bien plus compliqué, mais te permet d'ajouter plusieurs fonctions sur le même évènement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    window.addEventListener("unload", function( ){
      if (!f.nom.value) {
        window.open("http://www.nomdusite.com");
      }
    }, false);
    Au fait, si le champ n'est pas rempli, est-ce que tu veux empêcher la fermeture de la page en plus d'en ouvrir une autre ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 20
    Par défaut fonction
    Merci de ta reponse c'est passionnant
    si j'ecrit cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    window.onunload = function( ){
      if (!f.nom.value) {
        window.open("http://www.nomdusite.com");
      }
    }
    il faut que je l'appel dans le body ?
    (je suis vraiement nul)
    je fais comment ???
    merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 20
    Par défaut developpement
    J'ai essayé ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      function fenferme()
    { 
      if (!f.nom.value) {
        window.open("http://www.nomdusite.com"); 
    }
    </script>
     
    </head>
    <body onunload='fenferme()'>
    marche pas ..

  5. #5
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Normalement ça marche si on corrige les erreurs élémentaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function fenferme() {
      if (!f.nom.value) {
        window.open("http://www.nomdusite.com");
      } // il manquait une accolade
    }
    </script>
     
    </head>
    <body onunload='fenferme()'>
    Peut-être aussi que tu as un problème avec la variable f. Comme ton script agit à la fin de la vie de la page, c'est difficile de voir les éventuels messages d'erreur. Là je recommande un alert pour bloquer le script le temps que tu aies bien vu ce qui se passe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function fenferme() {
      alert("f: " + f);
      alert("f.nom: " + f.nom);
      alert("f.nom.value: " + f.nom.value);
      if (!f.nom.value) {
        window.open("http://www.nomdusite.com");
      }
    }
    Si par exemple f.nom est indéfini, ton script renvoie une ReferenceError en tentant d'accéder à f.nom.value. Avec mes alert tu verras tout de suite s'il y a un problème.

    Autre chose, essaye window.open("http://www.nomdusite.com", "_blank");, tu verras si un bloqueur de popups est à l'œuvre.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. popop window.open événement OnUnLoad
    Par Mathieu72 dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 01/08/2007, 20h10
  2. coordonnées d'une fenêtre avec window.open
    Par neecolas dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2005, 09h08
  3. Problème de titre avec la fonction window.open
    Par kloss dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/04/2005, 18h34
  4. window.opener ____ perdu
    Par camyo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/02/2005, 16h01
  5. QueryString avec window.Open ??
    Par christine dans le forum ASP
    Réponses: 4
    Dernier message: 29/08/2003, 09h27

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