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 :

R�cup�rer un fichier html pour changer une div de la page en cours


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par d�faut R�cup�rer un fichier html pour changer une div de la page en cours
    Bonjour.
    J'ai fait un r�pertoire B o� se trouve du texte dans des fichiers html.
    Dans mon r�pertoire A, j'ai la page d'accueil de mon projet.

    Je souhaite qu'� partir de mon fichier projet.php du r�pertoire A, un liste d�roulante s'affiche avec les noms des fichiers du r�pertoire B et que lorsque je s�lectionne un de ces choix, le contenu html de ce fichier s'affiche dans une div au bas de ma page web.

    Est ce possible de mani�re "naturelle" (pas trop compliqu�e) de le faire en JS et comment ?
    Ou, dois je d�placer ce message vers le forum Jquery ?
    Merci de votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    Ing�nieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Hospitalier
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par d�faut
    J�opterais pour Jquery pour cette raison :

    html
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <div onclick="chargemapage()" id="result">QUAND JE CLICK ICI JE CHARGE MA PAGE TEST.HTML QUI EST DANS LE DOSSIER AJAX ...</div>
    js
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    function chargemapage(){
       $( "#result" ).load( "ajax/test.html" );
    }
    C'est juste une �bauche ...

  3. #3
    Membre �clair�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par d�faut
    Merci de ton aide.
    J'essaie de mettre en place.
    Tu as mieux compris ma question que moi la r�ponse.
    Il me reste cette deuxi�me question que je ne sais pas traiter.
    Comment faire un menu d�roulant avec tous les noms de fichiers d'un r�pertoire ?
    Du coup, il faudrait d�lacer ce message vers le forum Jquery avant que je reprenne un carton jaune.
    Comment fait-on ?

  4. #4
    Membre �clair�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par d�faut
    A�e, a�e, a�e.
    Je ne suis pas arriver � faire ce que tu proposes.
    Du coup, j'ai essay� d'apter mon code mais mon fichier se met bien sur la page web mais au d�but.
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    function afficher(){
    	document.getElementById("champ_cache").style.display = "block";
    				}
     
    function cacher(){
    	document.getElementById("champ_cache").style.display = "none";
    				}	
     
    /*AJAX*/
    function loadFile(file) {
     
        var xhr = new XMLHttpRequest();
     
        // On souhaite juste récupérer le contenu du fichier, la méthode GET suffit amplement :
        xhr.open('GET', file);
     
    xhr.addEventListener('readystatechange', function() { // On gère ici une requête asynchrone
     
        if (xhr.readyState == 4 && xhr.status == 200) { // Si le fichier est chargé sans erreur
     
            document.getElementById('fileContent').innerHTML =  xhr.responseText ; // On l'affiche !
     
        } else if (xhr.readyState == 4 && xhr.status != 200) { // En cas d'erreur !
     
            alert('Une erreur est survenue !\n\nCode :' + xhr.status + '\nTexte : ' + xhr.statusText);
     
        }
     
    }, false);
     
        xhr.send(null); // La requête est prête, on envoie tout !
     
    }
     
     
     
    function init(file) { // Comme d'habitude, une IIFE pour éviter les variables globales
        document.getElementById("champ_cache").style.display = "none";
        var inputs = document.getElementsByName('liste'),
            inputsLen = inputs.length;
     
        for (var i = 0 ; i < inputsLen ; i++) {
     
            inputs[i].addEventListener('click', function() {
                loadFile(this.value); // À chaque clique, un fichier sera chargé dans la page
            }, false);
     
        }
     
    	loadFile("../MYSQL/requete_parcours.php?param1=T&param2=N");
     
    };	
     
    function chargemapage(file){ // Comme d'habitude, une IIFE pour éviter les variables globales
        document.getElementById("champ_cache").style.display = "none";
        var inputs = document.getElementsByName('evol'),
            inputsLen = inputs.length;
     
        for (var i = 0 ; i < inputsLen ; i++) {
     
            inputs[i].addEventListener('click', function() {
                loadFile(this.value); // À chaque clique, un fichier sera chargé dans la page
            }, false);
     
        }
     
    	loadFile(file);
     
    };
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    	<div onclick="chargemapage('../evolutions/evol_010415.html')" id="evol" name="evol">EVOLUTION</div>

  5. #5
    Membre Expert

    Homme Profil pro
    Ing�nieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Hospitalier
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par d�faut
    Pour placer ensuite ta page tu dois mettre un id="MaDivQuiContientLaPage" ou une class="MaDivQuiContientLaPage" pour cibl� ta DIV lorsque tu lui appliquera un Style CSS.
    Ici il faut ajuster.
    Code css : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #MaDivQuiContientLaPage{
        <!-- Met ici le style CSS pour adapter ta DIV sur la page -->
     
    }
    <!-- OU -->
    .MaDivQuiContientLaPage{
        <!-- Met ici le style CSS pour adapter ta DIV sur la page -->
     
    }

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    	<div id="MaDivQuiContientLaPage" onclick="chargemapage('../evolutions/evol_010415.html')" id="evol" name="evol">EVOLUTION</div>

  6. #6
    Membre �clair�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par d�faut
    Merci de m'aider.
    Mon texte n'est toujours en fin de page. Je pense que mon js qui contient le JQuery et qui fait plusieurs choses est mal programm� pour chargemapage().

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    function afficher(){
    	document.getElementById("champ_cache").style.display = "block";
    				}
     
    function cacher(){
    	document.getElementById("champ_cache").style.display = "none";
    				}	
     
    /*AJAX*/
    function loadFile(file) {
     
        var xhr = new XMLHttpRequest();
     
        // On souhaite juste récupérer le contenu du fichier, la méthode GET suffit amplement :
        xhr.open('GET', file);
     
    xhr.addEventListener('readystatechange', function() { // On gère ici une requête asynchrone
     
        if (xhr.readyState == 4 && xhr.status == 200) { // Si le fichier est chargé sans erreur
     
            document.getElementById('fileContent').innerHTML =  xhr.responseText ; // On l'affiche !
     
        } else if (xhr.readyState == 4 && xhr.status != 200) { // En cas d'erreur !
     
            alert('Une erreur est survenue !\n\nCode :' + xhr.status + '\nTexte : ' + xhr.statusText);
     
        }
     
    }, false);
     
        xhr.send(null); // La requête est prête, on envoie tout !
     
    }
     
     
     
    function init(file) { // Comme d'habitude, une IIFE pour éviter les variables globales
        document.getElementById("champ_cache").style.display = "none";
        var inputs = document.getElementsByName('liste'),
            inputsLen = inputs.length;
     
        for (var i = 0 ; i < inputsLen ; i++) {
     
            inputs[i].addEventListener('click', function() {
                loadFile(this.value); // À chaque clique, un fichier sera chargé dans la page
            }, false);
     
        }
     
    	loadFile("../MYSQL/requete_parcours.php?param1=T&param2=N");
     
    };	
     
    function chargemapage(file){ // Comme d'habitude, une IIFE pour éviter les variables globales
        document.getElementById("champ_cache").style.display = "none";
        var inputs = document.getElementsByName('evol'),
            inputsLen = inputs.length;
     
        for (var i = 0 ; i < inputsLen ; i++) {
     
            inputs[i].addEventListener('click', function() {
                loadFile(this.value); // À chaque clique, un fichier sera chargé dans la page
            }, false);
     
        }
     
    	loadFile(file);
     
    };

  7. #7
    Membre �clair�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par d�faut
    Bonjour.
    A la relecture,
    je m'aper�ois que je n'ai pas compris le Ma div � ajouter au click se trouve ../evolutions/evol_170415.html par rapport au .js contenant la fonction chargemapage() et au pHp o� chargemapage() est appel�e.

  8. #8
    Membre �clair�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par d�faut
    Bon.
    Je n'ai rien compris. Est ce que quelqu'un peut m'aider � int�grer cette div dans mon fichier js.html.
    J'ai refait un exemple simple que je vais commenter pour m'en souvenir.
    Ce que je veux mettre dans la div du fichier jsdiv.html, c'est le contenu du fichier evol_170415.html qui se trouve dans le r�pertoire : ../evolutions
    La fonction chargemapage se trouve dans le fichier onload.js qui est dans le r�pertoire JS

    jsdiv.html
    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
    27
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    </head>
    <body>
     
    	<div>
    		<form action="">
    			<p><label for=""></label><input type="text"></p>
    			<p><label for=""></label><input type="text"></p>
    			<p><label for=""></label><input type="text"></p>
    			<p><label for=""></label><input type="text"></p>
    			<p><label for=""></label><input type="text"></p>
     
    			<input type="text" name="table" />
    			<input type="submit" value="valider"/>
    		</form>
    	</div>
     
    	<div id="evol" onclick="chargemapage()"  name="evol">
    		EVOLUTION
    	</div>
    </body>
    	<script src="../JS/onload.js"></script>
    </html>
    onload.js
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    function chargemapage(){
       $( "#evol" ).load( '../evolutions/evol_170415.html' );
    };

  9. #9
    Membre �clair�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par d�faut
    Bonsoir.
    Je n'y arrive pas.
    C'est mon jquery qui n'a pas ses biblioth�ques, j'imagine.
    Mes trois fichiers :
    le DOM a modifier :
    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
    27
    28
    29
    30
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
     
    	<script type="text/javascript"></script>
    </head>
    <body>
     
    	<div>
    		<form action="">
    			<p><label for=""></label><input type="text"></p>
    			<p><label for=""></label><input type="text"></p>
    			<p><label for=""></label><input type="text"></p>
    			<p><label for=""></label><input type="text"></p>
    			<p><label for=""></label><input type="text"></p>
     
    			<input type="text" name="table" />
    			<input type="submit" value="valider"/>
    		</form>
    	</div>
     
    	<div id="evol" onclick="chargemapage();">
    		EVOLUTION
    	</div>
     
    </body>
    	<script src="../JS/onload.js"></script>
    </html>
    Celui qui contient la fonction (onload.js):
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    function chargemapage(){
       $( "#evol" ).load( "../evolutions/evol_170415.html" );
    }
    le html � afficher (evol_170415.html) :
    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
    <h1 id="dernières-évolutions">Dernières évolutions</h1>
    <p>30 mars 2015 : empêcher les doublons sur la requête pour remplir les tables parcours et sorties.</p>
    <h1 id="en-cours">En cours</h1>
    <p>Faire un menu déroulant avec les fichiers du répertoires evolutions qui intégre ce code html dans la page formulaireV5.1.php  <br>
    <a href="http://www.developpez.net/forums/d1510157/webmasters-developpement-web/javascript-ajax-typescript-dart/javascript/javascript-jquery-recupererun-fichier-html-changer-div-page-cours/#post8193386">Forum developpez</a></p>
    <h1 id="evolutions-prévues">Evolutions prévues</h1>
    <p>(<a href="http://jean.yard.pagesperso-orange.fr/sitelycee/cours/js/_Js.html?Premireversionlesbases.html">http://jean.yard.pagesperso-orange.fr/sitelycee/cours/js/_Js.html?Premireversionlesbases.html</a>&gt;Lycée Paul Héroult</p>
    <p>[finir tout les champs pour remplir les bdd et améliorer le message de validation](<a href="http://jean.yard.pagesperso-orange.fr/sitelycee/cours/js/_Js.html?Premireversionlesbases.html">http://jean.yard.pagesperso-orange.fr/sitelycee/cours/js/_Js.html?Premireversionlesbases.html</a>&gt;Lycée Paul Héroult</p>
    <p>faire les 2 autres tables</p>
    <p>ne plus revenir sur saisie,php mais sur le formulaire de saisi en ajoutant les lignes saisies en dessous du formulaire</p>
    <p><strong>une fichier php par formulaire avec la requête SQL en fin de fichier</strong>, un appel aux formulaires par boutons qui recharge cette partie de la page et un formulaire au chargement initial de la page.</p>
    <p>Interdire les doublons au niveau de la BDD aussi.</p>
    <h1 id="problèmes-rencontrés">Problèmes rencontrés</h1>
    <p>(<a href="http://jean.yard.pagesperso-orange.fr/sitelycee/cours/js/_Js.html?Premireversionlesbases.html">http://jean.yard.pagesperso-orange.fr/sitelycee/cours/js/_Js.html?Premireversionlesbases.html</a>&gt;Lycée Paul Héroult</p>
    <p>[Installation d’Emmet sur Sublime 2 : voir Forum ](<a href="http://jean.yard.pagesperso-orange.fr/sitelycee/cours/js/_Js.html?Premireversionlesbases.html">http://jean.yard.pagesperso-orange.fr/sitelycee/cours/js/_Js.html?Premireversionlesbases.html</a>&gt;Lycée Paul Héroult</p>
    <p><a href="http://www.developpez.net/forums/d1510111/environnements-developpement/autres-edi/sublime-text-2-emmet/">Devellopez.com</a></p>
    <blockquote>
      <p>Written with <a href="https://stackedit.io/">StackEdit</a>.</p>
    </blockquote>

    Erreur Firebug
    ReferenceError: $ is not defined
    http://localhost:8080/V5.1/JS/onload.js
    Line 2

  10. #10
    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,
    Erreur Firebug
    ReferenceError: $ is not defined
    http://localhost:8080/V5.1/JS/onload.js
    Line 2
    Il te faut charger la biblioth�ques jQuery pour pouvoir l'utiliser.
    Comment installer la biblioth�que jQuery ?

  11. #11
    Membre �clair�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par d�faut
    Super.
    Merci.
    Je chercherai comment mettre ces biblioth�ques en dur sur mon micro pour travailler hors connexion.
    Pour finir mon truc, comment est il possible de r�cup�rer tous les noms de fichiers html d'un r�pertoire, d'en faire une liste d�roulante qui affichera le fichier html s�lectionn�.

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

Discussions similaires

  1. innerHTML Erreur pour changer une div avec if
    Par Irokoi dans le forum G�n�ral JavaScript
    R�ponses: 11
    Dernier message: 28/09/2011, 22h22
  2. R�ponses: 6
    Dernier message: 09/09/2010, 13h58
  3. Cr�ation de fichier html pour une newsletter
    Par Welden dans le forum Langage
    R�ponses: 5
    Dernier message: 06/11/2008, 17h59
  4. [ java.net ] r�cup�rer un fichier PDF � partir d'une URL
    Par nico2280 dans le forum Entr�e/Sortie
    R�ponses: 7
    Dernier message: 10/11/2005, 11h09
  5. code HTML pour mettre une image en background dans un menu
    Par Link14 dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 2
    Dernier message: 16/10/2005, 12h11

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