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 :

manipulation de "node"


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Par d�faut manipulation de "node"
    Quand je duplique le noeud, la duplication appara�t � l'�cran tant que "alert(...)" bloque le d�roulement, puis il disparait...

    ceci sous firefox 3.6.13
    Alors que sous IE il reste affich�.

    J'ai essay� en changeant le nom du nouveau noeud, (nd.id="lala") mais rien n'y fait.

    Quelqu'un aurait-il une id�e ?
    Merci

    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
     
    <body>
     
     
    <script>
    function tester(){
    	var noeud=document.getElementById("ici");
    	var nd=document.getElementById("la").cloneNode(true);
    	noeud.appendChild(nd);
    	alert("arret");
    }
    </script>
     
    blalbla
     
    <span id="ici">et encore</span>
    <span id="la">autre chose</span>
     
    <form>
    <button  onClick="tester()">tester</button>
    </form>
    </body>

  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
    C'est � cause de la balise <form>.
    Une balise <button> se comporte par d�faut comme un submit, donc dans ton exemple, le clic ex�cute la fonction puis recharge la page, donc la modification disparait.
    Essaye soit en supprimant la balise form, soit en utilisant une balise <input type="button" />
    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
    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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    C'est en effet une bizarrerie que je n'avais jamais encore rencontr�.

    L'explication en est simple :
    FFX consid�re la balise bouton comme un bouton submit qui d�clenche l'envoi
    du form.
    To form n'ayant pas d'action, par defaut il consid�re la page action comme la page du form, donc il recharge

    Solutions:

    mettre un inhibiteur de soumission du form
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <form onsubmit="return false" >
    Ou ne pas mettre de balise form...

    Ou remplacer le bouton par un input type button
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <input type='button' onclick="tester()" value="tester" />
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Par d�faut Merci � tous
    Une heure d'essais sans trouver le pourquoi !
    et 5 minutes gr�ce � vous
    MERCI !

    On peut conserver le bouton en retirant la balise <form> et tout fonctionne bien.

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

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