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 :

Appel function javascript


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut Appel function javascript
    Bonjour,

    J'essais d'appeler une function javascript en fonction d'un if en php.

    Lorsque je le fais avec un a href ça marche mais pas quand je l'appel tout seul.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
        $LoginRedirection=$_SERVER["REQUEST_URI"];
        if (strstr($LoginRedirection,"?",TRUE))
    	    $LoginRedirection=strstr($LoginRedirection,"?",TRUE);
     
        if ($_SESSION['AUTH_USER']==NULL || $_SESSION['AUTH_USER']=='')
        {
     
    	?>
        	    	<script language='Javascript'>
     
    function fermer_pub(){ 
    if (document.getElementById) { //IE5 ou Netscape 6 
    document.getElementById("subscription-widget").style.visibility="visible"; 
    } 
    if (document.layers) { //NS4.X seul 
    document.subscription-widget.style.visibility="visible" 
    } 
    }
    </script>
     
           <a href="javascript:fermer_pub();"> LOGIN</a>
     
    	<?php
            }
            else
        {
            ?>
    Ça fonctionne mais pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
        $LoginRedirection=$_SERVER["REQUEST_URI"];
        if (strstr($LoginRedirection,"?",TRUE))
    	    $LoginRedirection=strstr($LoginRedirection,"?",TRUE);
     
        if ($_SESSION['AUTH_USER']==NULL || $_SESSION['AUTH_USER']=='')
        {
     
    	?>
        	    	<script language='Javascript'>
     
    function fermer_pub(){ 
    if (document.getElementById) { //IE5 ou Netscape 6 
    document.getElementById("subscription-widget").style.visibility="visible"; 
    } 
    if (document.layers) { //NS4.X seul 
    document.subscription-widget.style.visibility="visible" 
    }
    fermer_pub(); 
    }
    </script>
     
    LOGIN
     
    	<?php
            }
            else
        {
            ?>
    Merci de m'aider.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Il suffit de faire l'appel de la fonction en dehors de la fonction elle-même

    A part ça, je ne sais pas où tu as été chercher ce script, mais change de source !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (document.getElementById) { //IE5 ou Netscape 6
    tu sais depuis combien d'années IE5 et Netscape 6 n'existent plus ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (document.layers) { //NS4.X seul
    No comment...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut
    J'ai essayé et ça ne marche pas...peut-être fais-je mal les choses.

    Pour ce qui est du code, cette function était temporaire.

    Voici la bonne function:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script language="JavaScript">
    function setVisibility(ids) {
    document.getElementById(ids).style.display = 'inline';
    }
    </script>
    Et le code de l'appel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language="javascript">
    setVisibility('subscription-widget');
    </script>

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Au moment où la fonction est appelée, il existe l'élément subscription-widget dans la page ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut
    Oui, la preuve si la fonction est appeler via un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:setVisibility('subscription-widget');">abjfhbasdfg</a>
    Ça marche

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ca n'a rien à voir... Au moment où tu cliques sur le lien, l'élément existe "forcément" puisque le DOM est chargé, en revanche, si tu remplaces le lien par un appel direct à la fonction et que l'élément cible se situe après dans le DOM, il n'existe pas encore...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut
    Donc, comment appeler une fonction javascript pour un dom qui existera?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 43
    Points
    43
    Par défaut
    C'est beau, j'ai trouvé seul...j'ai mis l'appel dans le footer de ma page.

  9. #9
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    onLoad

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel de function JavaScript (jquery) sur une jsp
    Par BILANGA dans le forum jQuery
    Réponses: 4
    Dernier message: 09/01/2015, 14h14
  2. [POO] Function javascript ne fait rien appelée onLoad
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/05/2008, 20h18
  3. Appel function en Javascript
    Par Chti56 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/04/2008, 09h44
  4. Appeller une function javascript de la page mère
    Par Anubis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/07/2007, 15h22
  5. [XSLT] [MSXML] probleme d'appel a javascript
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/01/2006, 14h01

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