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 :

Exécuter une fonction au chargement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut Exécuter une fonction au chargement
    Bonjour,

    Vous trouverez ci-joint un petit exemple de mes fichiers.
    En résumé, j'aie une page html avec des liens cliquable (partie gauche du tableau) et lors du clic, je fais appel a une fonction JS pour afficher le résultat dans la partie droite de ce tableau.

    Ma question est de savoir si via un petit code PHP, on peut afficher la page html avec par exemple le texte 3 directement sans avoir a cliquer sur la ligne ?

    du type www.monsite.fr/myphp.php?texte3
    -> ouvre le fichier html et execute la fonction JS "afficheTexte3"

    C'est jouable ?

    Merci pour votre aide

    Thais
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    voici une méthode, avec des textes "indicés" (et sans besoin de PHP !) :
    Code js : 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
    function afficheAncre()
    {
    	var anchor = window.location.hash;
    	anchor = anchor.substring(1,anchor.length); // enleve le #
    	if(anchor!=''){
    		afficheTexte(anchor);
    	}
    }
    function afficheTexte(id)
    {
    	var Texte = new Array();
    	Texte[1] = "Affiche le Texte1";
    	Texte[2] = "Voici le Texte2";
    	Texte[3] = "Maintenant le Texte3";
    	document.getElementById('tableau').innerHTML = Texte[id]; 
    }
    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
    <body onload="afficheAncre();">
        <table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
         <tbody>
          <tr>
           <td style="vertical-align: top; width: 40%;">
    		  <a href="" onclick="afficheTexte(1); return false;" >Texte 1</a><br>
    		  <a href="" onclick="afficheTexte(2); return false;" >Texte 2</a><br>
    		  <a href="" onclick="afficheTexte(3); return false;" >Texte 3</a><br>
           </td>
            <td style="vertical-align: top; width: 60%;" id="tableau"><br>
            </td>
          </tr>
         </tbody>
        </table>
     
    <body>
    Utilisation dans l'URL :

  3. #3
    Invité
    Invité(e)
    Par défaut
    Pour pouvoir passer n'importe quel texte dans l'URL, il faut penser à l'encoder puis le décoder :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function afficheAncre()
    {
    	var anchor = window.location.hash;
    	anchor = anchor.substring(1,anchor.length); // enleve le #
    	if(anchor!=''){
    		afficheTexte(anchor);
    	}
    }
    function afficheTexte(Texte)
    {
    	document.getElementById('tableau').innerHTML = decodeURI(Texte); 
    }
    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
    <body onload="afficheAncre();">
        <table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
         <tbody>
          <tr>
           <td style="vertical-align: top; width: 40%;">
    		  <a href="" onclick="afficheTexte(encodeURI('Affiche le Texte1')); return false;" >Texte 1</a><br>
    		  <a href="" onclick="afficheTexte(encodeURI('C\'est le Texte2')); return false;" >Texte 2</a><br>
    		  <a href="" onclick="afficheTexte(encodeURI('Maintenant le Texte3')); return false;" >Texte 3</a><br>
           </td>
            <td style="vertical-align: top; width: 60%;" id="tableau"><br>
            </td>
          </tr>
         </tbody>
        </table>
     
    <body>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test.html#Maintenant%20le%20Texte3

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Bonjour,

    Merci pour votre aide.
    J'ai suivi vos conseils et avec un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Test.html?afficheTexte2()
    Et ca marche Nickel ....

    Merci

    Thais

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

Discussions similaires

  1. Exécuter une fonction à la fin du chargement d'une vidéo
    Par Gabriel84 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/03/2013, 17h32
  2. Exécuter une fonction au chargement d'une JSP
    Par mac&cheese dans le forum Struts 1
    Réponses: 5
    Dernier message: 07/03/2011, 18h15
  3. excuter une fonction au chargement d'une page
    Par xess91 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/12/2009, 20h11
  4. Réponses: 2
    Dernier message: 30/09/2009, 09h18
  5. [VB.NET] Exécuter une fonction VB sur un Datagrid
    Par MiJack dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/09/2004, 14h45

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