begin process at 2010 03 18 15:59:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

comment les valeurs d'un champ input créé dynamiquement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment les valeurs d'un champ input créé dynamiquement

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

Jarod1980



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

Jarod1980



Jarod_Delaware
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ée 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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales