[JavaScript] Activer/Désactiver des champs da [Fermé]

Utilisateur anonyme - 13 oct. 2008 à 11:35 - Dernière réponse :  Utilisateur anonyme
- 14 oct. 2008 à 09:57
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
Afficher la suite 

1 réponse

Utilisateur anonyme - 14 oct. 2008 à 09:57
+1
Utile
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;

Cette réponse vous a-t-elle aidé ?