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 :

Ecrire dans la div contenant le javascript


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Ecrire dans la div contenant le javascript
    Bonjour à tous, j'essaie de créer un widget affichant du contenu aléatoire dans une div. Le problème c'est que quand je répète le script plusieurs fois comme j'utilise une div avec id le contenu aléatoire est ajouté dans la même div à chaque fois.
    Ce que je voudrais si c'est possible c'est d'ajouter mon contenu dans la div contenant mon code javascript.
    De cette façon il pourrai ajouter son contenu aléatoire dans n'importe qu'elle div qui le contient sans que j'ai besoin de spécifier son id, ou sa position, sans que j'ai besoin de dire qu'elle div devra recevoir le contenu.

    Si quelqu'un a une idée, une solution je suis preneur parce que pour le moment c'est une impasse.
    Merci d'avance.

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Citation Envoyé par scapa2a Voir le message
    Ce que je voudrais si c'est possible c'est d'ajouter mon contenu dans la div contenant mon code javascript.
    Je ne comprends pas bien.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    En fait voici comment se présente mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div id="test">
    </div>
    <script type= "text/javascript">
     
    fonction contenu_aleatoire(){...}
     
    var contenu = contenu_aleatoire
     
    $(div#test).append(contenu); //je sais c'est du jquery dsl
     
    </script>
    Le problème c'est que ce script se répète dans ma page principale du coup le contenu aléatoire est toujours ajouté dans cette div avec l'id test.

    Ce que je voudrais c'est que mon contenu s'ajoute dans la div sans id dans laquelle je le place du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div>
    <script type= "text/javascript">
     
    fonction contenu_aleatoire(){...}
     
    var contenu = contenu_aleatoire
     
    $(div).append(contenu);
    </script>
    </div>
    J'aimerais éviter que la div que j'utilise pour mettre mon contenu ne soit écrasée à chaque fois par les autres occurrences de mon script.
    Je ne sais pas si je suis plus clair mais si vous ne comprenez toujours pas je vous mettrais le script en entier histoire que vous ne compreniez plus rien.

  4. #4
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Edit modération : j'ai ajouté un " dans <div id="test"> car la chaine n'était pas fermée. J'ai supposé que c'était un oubli dans l'exemple.

  5. #5
    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 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Tu commets une erreur de conception en considérant qu'en plaçant le script dans une balise, celui-ci lui est affecté !
    JavaScript à une portée correspondant à l'ensemble du document, la position du script dans la page affecte uniquement les éléments du DOM disponibles au moment de son interprétation.
    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

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    C'est bien ce que je pensais. Mais du coup, ça n'arrange pas mes affaires. En fait, j'essaie de créer un widget pour blogger (pour ceux qui connaissent, c'est un calvaire). Il est terminé mais quand j'ai voulu l'intégrer, après chaque message je me suis rendu compte que le script était appelé autant de fois qu'il y a de messages (ce que je voulais) mais comme j'utilise une div avec un id à chaque nouvel appel au script, la div est écrasée et remplacée par le nouveau contenu aléatoire.

    Ce que j'essaie de faire c'est d'avoir une nouvelle div à chaque appel du script afin que chaque message ait son contenu aléatoire et pas juste celui qui contient la div avec l'id.

    Je ne pense pas qu'il y ai forcement de solution mais je demande on ne sait jamais vu que je ne connais pas encore toutes les ficèles de JavaScript et de jQuery.

  7. #7
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Vous devez pouvoir différencier toutes vos div (par exemple avec un id) et adapter vos appels sur chacune d'entre-elles.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    C'est bien la le problème j'injecte mon script dans un widget blogger (celui des messages) qui s'execute au lancement de la page 7 fois simultanement. Du coup comme je lui rajoute mon script il est lui aussi executer 7 fois d'un coup.

    Résultat: ma div avec mon id test est elle aussi dupliquée 7 fois avec mes 7 contenus aléatoires dans chacunes d'elles.Ou selon comment j'injecte mon script ma div est unique et mes 7 contenus s'ajoute dans la div test. C'est une vraie galère. Ca fait deux jours que j'essaie et je commence à me dire que c'est tout simplement pas faisable.
    C'est dans ces moments qu'on voit les limites des modèles tout fait comme blogger.

  9. #9
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Si je comprends bien, vous n'avez aucun moyen d'identifier les div.

    N'est-il pas possible de récupérer toutes les div et de faire un each dans lequel vous ajouter le contenu aléatoire ?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Ben disons que mon but c'est d'avoir un contenu différents dans chacune des div créées. Avec un each je pourrais surement atteindre toutes les div test qui ont ete dupliquée mais le contenu ajouté serait le même pour toutes les div. Non?

    Je suis en train d'essayer de créer des div avec des id aléatoires pour que les div créées lors de l'éxecution des mon script aient toutes des id différentes.
    Je ne sait pas si ca va marcher mais c'est ma dernière idée.

  11. #11
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write(contenu);

    au risque de me faire lyncher par certains sur ce forum
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(a='eval(a)')
    recursive make it evil
    eval make it eval

  12. #12
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Citation Envoyé par scapa2a Voir le message
    Ben disons que mon but c'est d'avoir un contenu différents dans chacune des div créées. Avec un each je pourrais surement atteindre toutes les div test qui ont ete dupliquée mais le contenu ajouté serait le même pour toutes les div. Non?

    Je suis en train d'essayer de créer des div avec des id aléatoires pour que les div créées lors de l'éxecution des mon script aient toutes des id différentes.
    Je ne sait pas si ca va marcher mais c'est ma dernière idée.
    Dupliquer un id, c'est TOUJOURS mal ! (contrairement à document.write).

    Mais sinon si effectivement t'arrives à récupérer la collection des éléments que tu veux remplir, c'est évidement l'idéal pour leurs ajouter du contenu un à un avec le each(de jquery) comme tu dis.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(a='eval(a)')
    recursive make it evil
    eval make it eval

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Je sais que c'est mal de dupliqué un id mais ce n'est pas de mon fait. C'est une consequence du widget original de blogger dans lequel j'insere mon code.

    Apres plusieurs recherche il semblerai que l'on puisse inserer des gadget plus facilement a condition que vous cediez genereusement votre code à google (ca ne me dit rien).

    Effectivement puisque ca duplique mes div en gardant l'id et que le contenu generer est aleatoire je vais essayer avec un each on ne sait jamais.

    Merci pour tout ces conseils. Si ca ne marche pas ni avec mes div à id aléatoire ni avec each je laisse tomber de toute facon.Je vous tiens au courant si je trouve une solution ca aidera peut etre quelqu'un d'autre.

  14. #14
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Citation Envoyé par scapa2a Voir le message
    Ben disons que mon but c'est d'avoir un contenu différents dans chacune des div créées. Avec un each je pourrais surement atteindre toutes les div test qui ont ete dupliquée mais le contenu ajouté serait le même pour toutes les div. Non?
    Non. Si vous appelez la création aléatoire à bon escient, c'est-à-dire dans le each, vous aurez à chaque passage un appel différent et l'on suppose un résultat différent (sinon il faut revoir la fonction aléatoire ).

  15. #15
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Citation Envoyé par scapa2a Voir le message
    Je sais que c'est mal de dupliqué un id mais ce n'est pas de mon fait. C'est une consequence du widget original de blogger dans lequel j'insere mon code.

    Apres plusieurs recherche il semblerai que l'on puisse inserer des gadget plus facilement a condition que vous cediez genereusement votre code à google (ca ne me dit rien).

    Effectivement puisque ca duplique mes div en gardant l'id et que le contenu generer est aleatoire je vais essayer avec un each on ne sait jamais.

    Merci pour tout ces conseils. Si ca ne marche pas ni avec mes div à id aléatoire ni avec each je laisse tomber de toute facon.Je vous tiens au courant si je trouve une solution ca aidera peut etre quelqu'un d'autre.
    Et le document.write(contenu) ne fonctionne pas ?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(a='eval(a)')
    recursive make it evil
    eval make it eval

Discussions similaires

  1. Ecrire dans une div
    Par sasuke001 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/08/2011, 22h14
  2. [Prototype] Texte chargé dans une <div> contenant des balises <script>
    Par wenijah dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 22/11/2007, 17h28
  3. [AJAX] Ecrire dans un div et afficher le resultat dans un autre ?
    Par DrOOMMgba dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 31/05/2007, 09h58
  4. [PHP-JS] Ecrire dans un div en php
    Par J0r_x dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2007, 14h04
  5. Ecrire dans un DIV.
    Par cocula dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/02/2005, 15h01

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