[JavaScript] Activer/Désactiver des champs da

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
Je souhaiterais faire un formulaire d'envoi d'invitations.

Le formulaire se présente de la manière suivante.

un label accompagné d'un champ pour le nom de l'envoyeur | un label accompagné d'un champ pour l'email de l'envoyeur

un textarea pour le message pour le(s) destinataire(s)

un label accompagné d'un champ pour le nom du destinataire 1 | un label accompagné d'un champ pour l'email du destinataire 1

un bouton "ajouter un destinataire". un bouton "supprimer un destinataire".

Si on clique sur le bouton "ajouter un destinataire" cela fait apparaitre deux champs :

un label accompagné d'un champ pour le nom du destinataire 2 | un label accompagné d'un champ pour l'email du destinataire 2
et ainsi de suite

Si on clique sur le bouton "supprimer un destinataire" cela supprime deux champs :

un label accompagné d'un champ pour le nom du destinataire 2 | un label accompagné d'un champ pour l'email du destinataire 2
et ainsi de suite

Voici le lien vers le modèle que j'ai suivi.
http://www.quirksmode.org/dom/domform.html

J'ai l'impression d'avoir tout suivi à la lettre mais cela ne fonctionne pourtant pas.
Si quelqu'un pouvait éclairer ma lanterne ...

J'ai passé tout mon lundi sur ça sans résultat. Ça va me rendre dingue
--
www.myspace.com/kickntoast
95 % des erreurs proviennent de ce qu'il y a entre le clavier et la chaise
Pensez à cocher "résolu" le cas échéant
Configuration: Windows XP
Firefox 3.0.3

1 réponse

  1. Utilisateur anonyme
     
    personne ne peux m'aider ??

    Voici mon code
    J'arrive à faire retirer les champs mais pas a en ajouter.

    <?php
    include_once("squelette.php");
    $monSquelette = new CSquelette;
    $monSquelette->fctDoctype();
    $monSquelette->fctTitleDescriptionKeywords("leTitre","laDescription","LesKeywords");
    $monSquelette->fctFinMetaDebutBody();
    ?>
    	<!-- La phrase d'intro est à remplir ici -->
    	<p></p>
    	
    	<script type="text/javascript" src="invite.js"></script>
    <?php
    $monSquelette->fctFinHeader()
    ?>
    	<!-- Le contenu est à rempli ici -->
    	<div id="content">
    	
    			Your name : <input name="yourName" />			Your email : <input name="yourEmail" /><br /><br />
    			Your message : <textarea rows="5" cols="20" name="yourMessage"></textarea>
    			
    		<div id="readroot" style="display: none">
    			<input type="button" value="Remove review" onclick="this.parentNode.parentNode.removeChild(this.parentNode);" /><br /><br />
    			Her/His name : <input name="herHisName" />			Her/His email : <input name="herHisEmail" /><br /><br />
    		</div>
    
    		<form method="post" action="/cgi-bin/show_params.cgi">
    
    			<span id="writeroot"></span>
    			<input type="button" id="moreFields" value="Add recipient" />
    			<input type="submit" value="Send form" />
    		</form>
    
    	</div>
    <?php
    $monSquelette->fctPiedDePageEtFin();
    ?>


    et ça c'est le javascript je n'y est pas touché c'est exactement le même que sur http://www.quirksmode.org/dom/domform.html

    var counter = 0;
    
    function moreFields() {
    	counter++;
    	var newFields = document.getElementById('readroot').cloneNode(true);
    	newFields.id = '';
    	newFields.style.display = 'block';
    	var newField = newFields.childNodes;
    	for (var i=0;i<newField.length;i++) {
    		var theName = newField[i].name
    		if (theName)
    			newField[i].name = theName + counter;
    	}
    	var insertHere = document.getElementById('writeroot');
    	insertHere.parentNode.insertBefore(newFields,insertHere);
    }
    
    window.onload = moreFields;

    1