Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/12/2010, 15h43   #1
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Par défaut Ajouter un champ texte dans mon formulaire

Bonjour à tous,

Je réalise un site internet dans lequel j'ai un formulaire pour créer un sondage.
Tout ça est fait en PHP. Mais j'ai du utiliser du javascript pour permettre à l'utilisateur d'ajouter des champs textes à l'aide d'un bouton. Cette fonction js fonctionne bien pour le formulaire ajouter.
Mais elle bloque pour le formulaire modifier.
Voici le script de mon formulaire
Code :
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
 
$chaine='<form name="form_sondage" action="form_sondage.php?id='.$idSondage.'" method="post">';
	   $chaine.='<div id="modif_1">';
	 	      $chaine.='<div align="left">Question :';
				 $chaine.='<input name="question" type="text" value="'.$question.'"/>';
			$chaine.='</div>';
		 	$chaine.='<div align="left"> Date limite :';
		  		$chaine.='<input name="dateLimite" type="text" value="'.$dateLimite.'"/>';
			$chaine.='</div>';
			$i=1;
			while($ligne=mysql_fetch_array($executeR))
			{
				$chaine.='<div align="left">';
		 			$chaine.=' Réponse'.$i.' :';
		  			$chaine.='<input name="reponse_'.$i.'" type="text" value="'.$ligne['REPONSE'].'"/>';
					$chaine.='<input name="id_'.$i.'" type="hidden" value="'.$ligne['IDREPONSES'].'"/>';
				$chaine.='</div>';
				$i++;
			}
			$chaine.='</div>';
		 	$chaine.='<div align="left">';
				 $chaine.='<span id="input_2">';
					$chaine.='<input name="button" type="button" class="input2" onClick="javascript:modif_champ('.$i.')" value="Ins&eacute;rer un autre champ">';
				$chaine.='</span></div>';
				$chaine.='<div align="left"><input type="submit" name="submit" value="enregistrer" />';
			$chaine.='</div>';
 
	$chaine.='</form>';

Voici le script js
Code :
1
2
3
4
5
6
7
8
9
10
11
 
function modif_champ(i)
	{
 
		alert(i);
		var i2 = i + 1;
		alert(i2);
 
		document.getElementById('input_'+i).innerHTML = '<div id="modif_'+i+'">Reponse '+i+' : <input type="text" name="reponse_'+i+'"></div></span>';
		document.getElementById('input_'+i).innerHTML += (i <= 10000) ? '<span id="input_'+i2+'"><input class="input2" type="button" onClick="javascript:modif_champ('+i2+')" value="Insérer un autre champ"></span>' : '';
	}
Après plusieurs test je me suis aperçu, que le problème venait de l'appelle à ma fonction. Pour le formulaire modifié, j'ai mis une variable en paramètre au lieu de le mettre en dur. Et c'est cette variable qui bloque.

Merci d'avance pour votre aide.
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 16h00   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
le code généré s'il te plait... parce que le code php gna gna gna... je vais mourrir d'ennui si je répète encore cette même demande une fois de plus...

(mais bon, à vue de nez, ta fonction JS insère un input dans un input... c'est pas gagné)
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 16h12   #3
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
J'ai trouvé l'erreur.

j'avais mis
Code :
1
2
 
$chaine.='<span id="input_2">';
au lieu de
Code :
1
2
 
$chaine.='<span id="input_'.$i.'">';
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h15.


 
 
 
 
Partenaires

Hébergement Web