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 :

[DOM] Changement de html dans une div grace � javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par d�faut [DOM] Changement de html dans une div grace � javascript
    Bonjour
    voila j'ai un bug dans un programme. Celui ci doit changer le cnotenu d'une div en changeant le code de cette div
    On change le code kl'orsqu'on clique sur un lien
    voila le code :
    La fonction javascript

    function affichelisten(toThis)
    {
    if (document.getElementById)
    {
    document.getElementById("ecoute").innerHTML = toThis;
    }
    else if (document.all)
    {
    document.all["ecoute"].innerHTML = toThis;
    }
    }



    Puis le lien qui doit faire changer le code XHTML de la div en question :

    <a href="#" onClick="affichelisten('<object type="application/x-shockwave-flash" data="http://localhost/test3/audio/player.swf" id="audioplayer1" height="24" width="290">
    <param name="movie" value="../musique/player.swf">
    <param name="FlashVars" value="playerID=1&amp;soundFile=$liend">
    <param name="quality" value="high">
    <param name="menu" value="false">
    <param name="wmode" value="transparent">
    </object>'
    )">
    Ecouter</a><br/>

    Enfin le resultat :

    ' )"> Ecouter

    qui est pas ce que j'attend.... Quand on clique dessus il ne se passe rien � mon grand d�sespoir....

  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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Il faut �chapper les ".
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <a href="#" onClick="affichelisten('<object type=\'application/x-shockwave-flash\' data=\'http://localhost/test3/audio/player.swf\' id=\'audioplayer1\' height=\'24\' width=\'290\'>
    <param name=\'movie\' value=\'../musique/player.swf\'>
    <param name=\'FlashVars\' value=\'playerID=1&amp;soundFile=$liend\'>
    <param name=\'quality\' value=\'high\'>
    <param name=\'menu\' value=\'false\'>
    <param name=\'wmode\' value=\'transparent\'>
    </object>'
    )">
    Ecouter</a><br/>
    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 confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par d�faut
    En fait cela doit �tre ca sauf que cela ne marche pas plus
    parce que j'ai oubliais de pr�ciser que tout ce code se trouve dans une variable PHP... donc voila le code....
    Cela s'affiche correctement mais cela donne rien...


    $premier=<<<EOT
    <a href="#" onClick="affichelisten('<object type=\'application/x-shockwave-flash\' data=\'../musique/player.swf\' id=\'audioplayer1\' height=\'24\' width=\'290\'>
    <param name=\'movie\' value=\'../musique/player.swf\'>
    <param name=\'FlashVars\' value=\'playerID=1&amp;soundFile=$liend\'>
    <param name=\'quality\' value=\'high\'>
    <param name=\'menu\' value=\'false\'>
    <param name=\'wmode\' value=\'transparent\'>
    </object>'
    )">

  4. #4
    Membre exp�riment�
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Par d�faut
    2 choses :

    - document.getElementById fonctionne avec tous les navigateurs modernes. Inutile de faire des tests saugrenus avec document.all...

    - Plut�t que de t'emb�ter � trimbaler cette fichue chaine "�chapp�e" tu peux utiliser un �l�ment textarea. Le contenu d'un tel �l�ment est consid�r� comme du texte, il n'est pas interpr�t�. Tu peux ensuite r�cup�rer le texte qui s'y trouve en utilisant �galement la propri�t� innerHTML. Pour finir, on le cache, car il ne sert juste, dans ce cas, qu'� contenir cette cha�ne. C'est une technique int�ressante chaque fois qu'on a � g�n�rer des fragments de DOM � volumineux � la vol�e. On peut �galement y enfouir un template, pour ceux qui utilisent prototype.js. Bref, le voici :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    <textarea id="pouet" style="display: none;"><object type="application/x-shockwave-flash" data="http://localhost/test3/audio/player.swf" id="audioplayer1" height="24" width="290">
    <param name="movie" value="../musique/player.swf">
    <param name="FlashVars" value="playerID=1&amp;soundFile=$liend">
    <param name="quality" value="high">
    <param name="menu" value="false">
    <param name="wmode" value="transparent">
    </object></textarea>
    Ton lien peut ensuite s'�crire comme ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="#" onClick="affichelisten();"/>
    Et ta fonction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    function affichelisten() {
        var content = document.getElementById("pouet").innerHTML;
        // ...
        document.getElementById("ecoute").innerHTML = content;
    }

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par d�faut
    En fait si j'utilise document.all..
    c'est parce que cela DOIT fonctionner avec les vieux navigateurs aussi

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par d�faut
    Mais merci je vais essayer ca tout de suite

  7. #7
    Membre exp�riment�
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Par d�faut
    Citation Envoy� par sebxid Voir le message
    En fait si j'utilise document.all..
    c'est parce que cela DOIT fonctionner avec les vieux navigateurs aussi
    Argh, pas de chance...

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par d�faut
    En fait si il y a une pb, c'est a propos de cette variable Php
    $liend
    que l'on trouve la dedant :
    <param name="FlashVars" value="playerID=1&amp;soundFile=$liend">

    Pacequ'en fait, je dois faire une proposition de morceau a ecouter. et lorsque l'on clique sur ecoute, le div doit afficher le player et mettre en route la sique
    Bien sur l'addresse du morceau se trouve justement dans cette variable $liend.
    J'ai essaye un truc comme ca mais...
    <param name="FlashVars" value="playerID=1&amp;soundFile=<?php echo $liend; ?>">

    Ca ne marche pas

  9. #9
    Membre exp�riment�
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Par d�faut
    Je ne suis pas s�r de comprendre mais je te r�pondrais bien qu'il suffit de sortir sa valeur au lieu de "$liend" dans ton fragment HTML. Non ?

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par d�faut
    j'ai une proposition de liste de morceau � �couter
    Cette page est construite en php car l'addresse des morceaux mp3 est sur une base de donn�e.
    Le truc c'est que lorsqu'on clique sur : ecouter,
    alors un div (qui doit contenir le player ) change et le player se met en route (c'est � dire que le div se remplit du code html du player)

  11. #11
    Membre exp�riment�
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Par d�faut
    OK, donc c'est un fragment purement statique. Tu ne peux pas t'arranger � sortir la valeur de "$liend" dans ce fragment ?

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par d�faut
    oui voila.
    Le serveur pr�pare le code htlm � afficher quand il construit sa page. Une fois la page faite, c'est le navigateur qui doit se d�brouiller il a toutes les infos qui lui faut.
    (Je suis pas mauvais en php, mais alors javascript... et encore moins ajax a ce qui parait serait l'outils le plsu appropri�, mais la j'ai pu le temps)

Discussions similaires

  1. Afficher une banni�re dans une div avec javascript
    Par houssem86 dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 24/10/2013, 08h26
  2. Chargement html dans une DIV sans son CSS
    Par Rifton007 dans le forum jQuery
    R�ponses: 2
    Dernier message: 10/06/2009, 07h57
  3. [AJAX] Changement de contenu dans une div.
    Par tinoudu01 dans le forum AJAX
    R�ponses: 10
    Dernier message: 01/05/2009, 12h22
  4. [HTML] Centrer une DIV dans une autre
    Par graphicsxp dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 5
    Dernier message: 22/02/2006, 17h10
  5. [HTML]ouvrir une page html dans une div
    Par Phenomenium dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 5
    Dernier message: 16/01/2006, 17h23

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