Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : comment les valeurs d'un champ input créé dynamiquement [ Divers / Général ] (Jarod1980)

jeudi 16 août 2007 à 20:01:41 | comment les valeurs d'un champ input créé dynamiquement

Jarod1980

Bonjour,
Je voudrais donner la possibilité à l'utilisateur d'insérer des champs input type text dans la page WEB à partir d'un bouton. Le problème, c'est que quand j'ajoute un nouveau champ input type text dans la page, les précédents champ input text qui contiennent du texte sont remis à zéro. Je voudrais si c'est possible de garder ces valeurs lors de l'insertion de nouveaux champ input text dans ma page.
Ci dessous mon code :

  1. <?php
  2. // si l'utilisateur soumet le formulaire on affiche la valeur de tous les champs du formulaire  
  3. if(isset($_POST['submit'])&&$_POST['submit']=="Envoyer"){ 
  4.       // on affiche le nombre de champs du formulaire 
  5.       echo'Nombre de champs : '.$_POST['nb_champs'].'<br />'; 
  6.  
  7.       // on affiche la valeur des champs du formulaire 
  8.       for($i=1;$i<=$_POST['nb_champs'];$i++){ 
  9.             $dynamique='champs_'.$i; 
  10.             $value=$_POST[$dynamique]; 
  11.             echo'Valeur du champ '.$i.' : '.$value.'<br />'; 
  12.       }  
  13. }  
  14.  
  15. // sinon on affiche le formulaire avec la possibilité d'ajout des champs au formulaire  
  16. else{ 
  17.       // on défini le nombre initial de champs 
  18.       if(!isset($_POST['nb_champs'])){ 
  19.             $_POST['nb_champs']=1; 
  20.       } 
  21.       // si la personne clic sur "un champs en +", on ajoute un champs 
  22.       if(isset($_POST['submit'])&&$_POST['submit']=="Un champs en +"){ 
  23.             $_POST['nb_champs']++; 
  24.       } 
  25.  
  26.       // on affiche le formulaire 
  27.       echo'<FORM METHOD="post">'; 
  28.       // on place un champ caché contenant un entier ayant comme valeur le nombre de champs du formulaire 
  29.       echo'<INPUT TYPE="hidden" NAME="nb_champs" VALUE="'.$_POST['nb_champs'].'">'; 
  30.  
  31.       // on affiche tous les champs du formulaire 
  32.       for($i=1;$i<=$_POST['nb_champs'];$i++){ 
  33.             echo'<INPUT TYPE="text" name="champs_'.$i.'"><br />'; 
  34.       } 
  35.  
  36.       // on place un bouton permettant de rajouter un champs 
  37.       echo'<INPUT TYPE="submit" NAME="submit" VALUE="Un champs en +"><br />'; 
  38.       // on place un bouton permettant de soumettre le formulaire 
  39.       echo'<INPUT TYPE="submit" NAME="submit" VALUE="Envoyer">'; 
  40.       echo'</FORM>';  
  41. }  
  42. ?>


Jarod_Delaware

jeudi 16 août 2007 à 20:06:03 | Re : comment les valeurs d'un champ input créé dynamiquement

Evangun

Salut,

cherche comment insérer dynamiquement des champs avec javascript, pas php, ce sera beaucoup mieux.

au pif : http://www.editeurjavascript.com/scripts/scripts_formulaires_3_653.php

à+

vendredi 17 août 2007 à 12:24:01 | Re : comment les valeurs d'un champ input créé dynamiquement

Jarod1980

Salut,

Merci pour ta réponse. J'ai integré un script javascript dans ma source pour générer dynamiquement les champs input. Là pas de soucis, par contre quand s'insère dans ma bdd les valeurs j'ai des champs vides.

<script language=javascript>
cpt_input = 1;

function ajout_input()
{
cpt_input++;
//var text = '<input type="texte" name="test' + cpt_input + 'id="test' + cpt_input + '">';

var text = '<input type="texte" name="champs_'+cpt_input + 'id="champs_'+cpt_input +'">&nbsp;<input type="text" name="champs1_"'+cpt_input+'id="champs1_'+cpt_input +'"><br/>';

document.getElementById("inputs").innerHTML += text;

}
</script>

<?php
// si l'utilisateur soumet le formulaire on affiche la valeur de tous les champs du formulaire 
if (isset($_POST['submit']) && $_POST['submit'] == "Envoyer"){
      // on affiche le nombre de champs du formulaire
      //echo 'Nombre de champs : '.$_POST['nb_champs'].'<br />';
 
      // on affiche la valeur des champs du formulaire
      for ($i=1; $i<=$_POST['nb_champs']; $i++){
            $dynamique = 'champs_'.$i;
            $dynamique2 = 'champs1_'.$i;   
            $value = $_POST[$dynamique];
            $value2 = $_POST[$dynamique2];
            echo 'Valeur du champ '.$i.' : '.$value.'&nbsp;<br />'.$value2;
   $req = "INSERT INTO Calendar (jours, sortie) VALUES('$value','$value2')";
mysql_query($req);
      } 

 
// sinon on affiche le formulaire avec la possibilité d'ajout des champs au formulaire 
else{
      // on défini le nombre initial de champs
      if (!isset($_POST['nb_champs'])){
            $_POST['nb_champs'] = 1;
      }
      // si la personne clic sur "un champs en +", on ajoute un champs
      if (isset($_POST['submit']) && $_POST['submit'] == "Un champs en +"){
            $_POST['nb_champs']++;
      }
 
      // on affiche le formulaire
      echo '<FORM name="frm" METHOD="post">';
   echo '<div id="inputs"></div>';
      echo '<input type="button" value="Ajouter" onclick="ajout_input();"/>';
   echo '<input type="button" value="voir valeur champs_1" onclick="alert(document.frm.champs_1.value);"';
      // on place un champ caché contenant un entier ayant comme valeur le nombre de champs du formulaire
      echo '<INPUT TYPE="hidden" NAME="nb_champs" VALUE="'.$_POST['nb_champs'].'">';
 
      // on affiche tous les champs du formulaire
     // for ($i=1; $i<=$_POST['nb_champs']; $i++){
            //echo '<INPUT TYPE="text" name="champs_'.$i.'">&nbsp;<INPUT TYPE="text" name="champs1_'.$i.'"><br />';
      //}
 
      // on place un bouton permettant de rajouter un champs
      //echo '<INPUT TYPE="submit" NAME="submit" VALUE="Un champs en +"><br />';
      // on place un bouton permettant de soumettre le formulaire
      echo '<INPUT TYPE="submit" NAME="submit" VALUE="Envoyer">';
      echo '</FORM>'; 

mysql_close();
?>

Jarod_Delaware


vendredi 17 août 2007 à 12:57:34 | Re : comment les valeurs d'un champ input créé dynamiquement

Evangun

Tu as mal écrit

{
cpt_input++; 

var text = '<input type="texte" name="champs_'+cpt_input + '" id="champs_'+cpt_input +'">&nbsp;<input type="text" name="champs1_'+cpt_input+'" id="champs1_'+cpt_input +'"><br/>';

vérifie la source de ta page de départ, ya pas de secret, c'est rien d'autre qu'un formulaire.

vendredi 17 août 2007 à 14:08:27 | Re : comment les valeurs d'un champ input créé dynamiquement
vendredi 17 août 2007 à 14:08:46 | Re : comment les valeurs d'un champ input créé dynamiquement
vendredi 17 août 2007 à 14:11:09 | Re : comment les valeurs d'un champ input créé dynamiquement

Jarod1980

J'ai encore IE qui foire qd je psote des messages. Bref, au sinon merci pour ton aide, c'est super ça marche. Par contre, ça n'insère toujours pas dans la bdd même pas des champs vides.
Mais bon, lorsque je fais un alert pour voir la valeur du champ1 ça me retourne la valeur marquée. Il doit certainement y avoir une erreur dans mon php.


Jarod_Delaware



Cette discussion est classé dans : formulaire, champ, champs, post, echo


Répondre à ce message

Sujets en rapport avec ce message

formulaire [ par Tomcube ] SalutJ'ai un problème complètement bizarre.J'ai un formulaire avec des champs "titre", "section", "titre0" et "astuce0". Lorsque je rempli les 4, et q récupération de variable. ca marche sauf pour une [ par scoder ] bonjour, je suis dans un cas de figure assez particulier puisque j'ai un formulaire dont je récupère les variables, jusque là ok. Là où ça cloche c'es 2 actions :-( [ par Blacknight91titi ] Salutvoila j'ai un problèmej'ai crée un formulairepuis ajouter un code pour vérifier que les champs soit rempli correctementmasi le problème est que c champ d'un formulaire suivant une selection radio [ par LiGrAnD ] Bonjour,je dois faire un formulaire recueillant des informations sur des personnes, mais les champs du formulaire doivent etre different celon la cate vérification de champ d'un formulaire [ par cobrachris ] j'ai lu plusieur post mais j'ai pas vraiment trouver.Voila je vous explique rapidement.J'aimerais créer unformulaire pour enregistrer des lieux en Fra tester un champ de formulaire [ par tibine974 ] Meuh ! Fais la vache bonsoir !! Voilà mon pb : Nom : </for Champ de formulaire [ par DCO2 ] Bonjour,J'ai un formulaire de demande de prestation avec des champs texte, liste déroulante, EMAil...Je voudrai que si l'on répond OUI à une question Formulaire Html en Php [ par kiboumz ] Bonjour, j'ai eu petit bug que je n'arrive pas à résoudre lorsque je code ceci    echo '';    echo '';    echo '*Nom d\'utilisateur : &nbsp';  &nbs Formulaire envoyer par e-mail [ par maxetime ] Salut,j'ai un probleme avec l'envoie d'un formulaire apr e-mail.Voici l'erreur que sa me donne :Parse error: parse error, unexpected T_STRING in c:\in tester le champ d'un formulaire [ par jbcaiz ] salut, j'ai un formulaire commentaire accessible par tous.je test dèjà si les champs sont vide mais j'aimerai aussi interdire qu'un idiot me remplisse


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.