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 :

Echec Appel � une fonction via une premi�re fonction


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Janvier 2015
    Messages
    50
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2015
    Messages : 50
    Par d�faut Echec Appel � une fonction via une premi�re fonction
    Bonjour,
    Sauriez-vous m'expliquer pourquoi l'appel � la fonction d�nomm�e "maFonctionAppelee" ne s'op�re pas lorsque l'appel se fait depuis la seconde fonction d�nomm�e "maFonctionAppelante" ?
    Je vous remercie beaucoup de votre aide.
    Voici le script :
    Code html : 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
    <html>
    <head>
    <script type="text/javascript">
    function maFonctionAppelee(a){
            alert(a);
            }
    </script>
    </head>
    <body>
    <a href="javascript:onclick=maFonctionAppelante();">Test VIA maFonctionAppelante</a><br><br>
    <a href="javascript:onclick=maFonctionAppelee('test par lien SANS passer par fonction Appelante');">Test par lien SANS passer par maFonctionAppelante</a><br>
     
    <script type="text/javascript">
    function maFonctionAppelante(){
    let lien = '► <a href="javascript:onclick=maFonctionAppelee(\'test_lien\');">Tester par lien vers maFonctionAppelee</a>';
    let alerte = '► <a href="javascript:onclick=alert(\'test_alert\');">Afficher alert</a>';
    nouvelle=window.open("","_blank","width=800px,height=600px,scrollbars=yes");
    nouvelle.document.write("<center><h2><b>Page test</b></h2>");
    nouvelle.document.write("<table style='width:450px;'><tr><th style='width:300px;'></th><th style='width:450px;'></th></tr>");
    nouvelle.document.write("<tr><td>lien (ne fonctionne pas)</td><td>" + lien + "</td></tr>");
    nouvelle.document.write("<tr><td>alert (fonctionne)</td><td>" + alerte + "</td></tr>");
    nouvelle.document.write("</table></center>");
    }
    </script>
    </body>
    </html>

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Tu as un souci de chronologie...
    Tu appelles la fonction avant qu'elle ne soit d�clar�e
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Janvier 2015
    Messages
    50
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2015
    Messages : 50
    Par d�faut
    Je vous remercie de votre r�ponse.
    La fonction appel�e se trouve dans le head. Elle a �t� mal plac�e ?

  4. #4
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    si l'on regarde le code qui se trouve dans ta fen�tre on a quelque chose comme :
    Code html : 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
    <center>
      <h2>
        <b>Page test</b>
      </h2>
      <table style="width:450px;">
        <tbody>
          <tr>
            <th style="width:300px;"></th>
            <th style="width:450px;"></th>
          </tr>
          <tr>
            <td>lien (ne fonctionne pas)</td>
            <td><a href="javascript:onclick=maFonctionAppelee('test_lien');">Tester par lien vers maFonctionAppelee</a>
            </td>
          </tr>
          <tr>
            <td>alert (fonctionne)</td>
            <td><a href="javascript:onclick=alert('test_alert');">Afficher alert</a>
            </td>
          </tr>
        </tbody>
      </table>
    </center>
    a aucun moment la fonction maFonctionAppelee est d�finie, celle de la fen�tre parent n'est pas utilisable directement.

    PS : oubli de pr�ciser

  5. #5
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par d�faut
    apr�s avoir r�pondu � NoSmoking, je me demandais si vous avez d�j� une id�e de l'utilisation que vous allez faire de l'ouverture d'une nouvelle fen�tre ?
    c'est une ancienne technique qui est souvent remplac�e par l'utilisation de javascript pour �crire dans une balise de la page.

  6. #6
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Janvier 2015
    Messages
    50
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2015
    Messages : 50
    Par d�faut
    Merci Mathieu pour votre suggestion que j'�tudierai � la suite de la proposition de NoSmoking concernant "opener".
    Cette propri�t� rend le lien op�rant. J'avance et je vous remercie.
    Mais je me demande d'o� sort cette fen�tre qui vient recouvrir la "Page test" ? Et comment s'en d�barrasser ?
    Code html : 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
    <html>
    <head>
    <script type="text/javascript">
    function maFonctionAppelee(a){
            alert(a);
            }
    </script>
    <script type="text/javascript">
    function maFonctionAppelante(){
    let lien = '► <a href="javascript:onclick=maFonctionAppelee(\'test_lien réussi\');">Tester par lien vers maFonctionAppelee</a>';
    nouvelle=window.open("","_blank","width=800px,height=600px,scrollbars=yes");
    nouvelle.opener.document.write("<center><h2><b>Page test</b></h2>");
    nouvelle.opener.document.write("<table style='width:450px;'><tr><th style='width:300px;'></th><th style='width:450px;'></th></tr>");
    nouvelle.opener.document.write("<tr><td>lien</td><td>" + lien + "</td></tr>");
    nouvelle.opener.document.write("</table></center>");
    }
    </script>
    </head>
    <body>
    <a href="javascript:onclick=maFonctionAppelante();">Test VIA maFonctionAppelante</a><br><br>
    </body>
    </html>

    Ajout :
    J'ai test� l'exemple propos� sur le site de W3Schools. Je vois ce m�me ph�nom�ne : l'�criture se fait sur la fen�tre appelante et une fen�tre vide s'affiche. Quelle est l'utilit� de cette fen�tre vide et g�nante ? A quoi peut-elle bien servir ?
    J'ai trouv� la solution target _self pour �viter l'affichage de cette fen�tre inutile.
    Je crois �tre arriv� au bout de mes peines.
    Merci � tous trois qui avez pris du temps pour moi.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [AJAX] Appeler une fonction en php via de l'Ajax
    Par skystef dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 29/09/2008, 10h27
  2. [HTML] Appeler une fonction cot� serveur via Html
    Par nassim12 dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 7
    Dernier message: 26/08/2008, 14h11
  3. [DOM] appeler une fonction via son nom (qui est une string)
    Par elekis dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 15/07/2008, 13h06
  4. R�ponses: 4
    Dernier message: 24/08/2007, 15h56
  5. Appeler une fonction Access via un .bat
    Par kluh dans le forum Access
    R�ponses: 12
    Dernier message: 27/11/2005, 23h41

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