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] Effet bizarre du script


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut [DOM] Effet bizarre du script
    Salut j'ai ecrit une petite fonction qui affiche du texte lorsque je clique sur un champ d'une liste deroulante d'un formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     <head>
            <title>essai</title>
     
    		<script language="javascript">
    		function afficher_champ_questions()
    		{
    		document.writeln('toto');
    		}
    ...................
     
    <label for='nbre_questions'><br /> Nombre de questions</label> 
       :    <select name='nbre_questions' id='nbre_questions'>
               <option value='2_questions' onClick='afficher_champ_questions()'>2 questions</option>
    sous firefox le texte est affiché et il écrase ce qui existe déja et en plus la page charge continue de charger indéfiniment .
    Sous IE le script ne fonctionne pas du tout.
    Que faire ?

  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 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    le DOM
    ...

    et
    pour eviter le chargement continuel

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut
    je l'utilise comment ?

  4. #4
    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 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    En allant chercher dans les forum, la FAQ et les contributions ???


    sinon un exemple rapide ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var Quest=document.createElement('div');
    Quest.innerHTML='toto';
    document.body.appendChild(Quest)
    et pour le mettre au bon endroit .. insertBefore au lieu de append

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 651
    Points : 11 145
    Points
    11 145
    Par défaut
    bonjour,

    visiblement tu as fait du pascal
    document.writeln() n'existe pas en JS c'est document.write().

    Le comportement de document.write() que tu décris est normal : il écrase tout le contenu de la page lorsque cette fonction est appelée (tout ce qui est entre les balises <html>.
    Si FF tourne en boucle c'est qu'au moment où le contenu de la page est écrasé il "cherche" à terminer une fonction qui n'existe plus.

    Sinon comme le conseille Spacefrog utilise createElement() tu n'auras plus de mauvaises surprises

  6. #6
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 279
    Points
    5 279
    Par défaut
    et puis document.write franchement, c'est pas terrible pour relire son code par la suite.

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut
    Merci bcp.

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

Discussions similaires

  1. Syntaxe bizarre dans script captcha
    Par Sylvain__A_ dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2009, 12h45
  2. Réponses: 4
    Dernier message: 27/10/2008, 07h27
  3. [DOM] onClick sur balise Script
    Par electro38 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 01/07/2008, 08h31
  4. Comportement bizarre de script avec "my"
    Par Jjeje007 dans le forum Langage
    Réponses: 2
    Dernier message: 07/06/2007, 07h57
  5. [DOM] Problème bizarre avec DOM et XPath
    Par fragmonster dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/03/2006, 14h43

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