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 :

replaceChild et formulaire


Sujet :

JavaScript

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut replaceChild et formulaire
    Bonjour,

    Alors, je me suis mis en tête de réaliser un paragraphe qui, lorsque l'on clique dessus, devient une zone de saisie de texte avec un bouton pour confirmer la modification du paragraphe, ceci avec le DOM et replaceChild. Seulement, j'y ai passé trois heures, dont deux à chercher ce qui n'allait pas, et je n'ai aucune idée de ce que j'ai mal fait ! Voilà donc le code :

    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
    var parent= document.createElement('p');
    var edit=document.createTextNode('Paragraphe éditable');
     
    parent.appendChild(edit);
    ul.appendChild(parent);
    parent.addEventListener('click', edite);
     
     
    function edite(event)
    	{
     
    		var txt = event.target.innerHTML;
    		var textarea=document.createElement("textarea");
    		textarea.value=txt;
    		parent.replaceChild(textarea,edit) ;
    		var b = document.createElement('button');
    		b.innerHTML = 'Valider';
    		ul.appendChild(b);
    		b.addEventListener('click', confirme);
     
    	}
     
    function confirme(event)
    {
     
    	var bout=event.target;
    	alert("caco");
    	var edite=document.createTextNode('Paragraphe éditable');
    	alert("ok");
    	parent.replaceChild(edite,textarea);
    	alert("caca");
    	var nvtxt=textarea.innerHTML;
    	alert(nvtxt);
     
    	edit.innerHTML=nvtxt;
     
    }
    J'ai mis ce code dans le document HTMl avec la balise script. Ce qui se passe : j'ai ma page qui s'affiche, je peux cliquer sur le paragraphe, et j'ai alors le formulaire qui s'affiche correctement. Mais quand je clique sur le bouton de validation du formulaire, je ne retrouve pas le paragraphe !
    A noter que je n'ai pas encore essayé de conserver le texte saisi dans le formulaire pour le transférer dans le paragraphe, je suis vraiment sur ce problème du second replaceChild. Et j'ai trouvé une solution à cet énoncé, mais elle n' utilise pas replaceChild, ce qui m'a l'air plutôt compliqué !
    A noter également qu' il y a des restes de mes nombreuses tentatives de débogage, d' où les variables inutilisées notamment.
    J'aimerais donc que vous m'expliquiez ce qui ne va pas ici, et, si possible, que vous me le corrigiez

    Merci d'avance !
    Ookajiro
    Dernière modification par NoSmoking ; 30/12/2014 à 15h30. Motif: Balises[CODE] et non [QUOTE]

Discussions similaires

  1. Création d'un formulaire sous flash?
    Par ultrakas dans le forum Flash
    Réponses: 5
    Dernier message: 11/01/2005, 18h33
  2. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52
  3. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59
  4. [VB6][Formulaire]Appliquer un Scrollbar a une Form
    Par Boil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/11/2002, 03h51
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

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