CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 15-10-2017 19:21:28

bebsb
Chouquette
Date d'inscription: 12-09-2013
Messages: 2

[résolu] champs supplémentaires non postés

Bonjour,

je suis nouveau sur ce forum, merci de votre indulgence smile

dans un projet, j'ai besoin d'associer plusieurs adresses à une personne. Le nombre d'adresses n'étant pas défini, j'utilise jquery pour générer des champs supplémentaires, mais ces champs générés ne sont pas posté... ?

ben... pourquoi ?

voilà mon add.ctp :

Code: php

  1. <div class="box-body" id="lesadresses">
  2.    <fieldset id="adresses-0">
  3.       <input type="hidden" name="adresses[0][id]" id="adresses-0-id">
  4.       <div class="form-group col-xs-8">
  5.           <label>N° et Voie</label>
  6.           <input type="text" name="adresses[0][nomvoie]" maxlength="250" id="adresses-0-nomvoie" class="form-control">
  7.        </div>
  8.        <div class="form-group col-xs-4">
  9.             <label>Ville</label>
  10.             <select id="adresses-0-ville_id" name="adresses[0][ville_id]" class="form-control">
  11.             <?php $optionsLesVilles ='';
  12.                     foreach ($villes as $villeid => $ville) :
  13.                       $optionsLesVilles .= '<option value="'.$villeid.'">'.$ville.'</option>';
  14.                      endforeach;
  15.                       echo $optionsLesVilles;
  16.               ?>
  17.             </select>
  18.         </div>
  19.     </fieldset>
  20.  </div>
  21. <script>
  22. /* Ajout et suppression d'une adresse */
  23.   var derniereadresse = 0;
  24.   $('#adresse-plus').click(
  25.     function(){
  26.       var prochaineadresse = derniereadresse+1;
  27.       $("#adresses-"+prochaineadresse).removeClass('hidden');
  28.       var dernierinputa = "#adresses-"+derniereadresse;
  29.  
  30.  
  31.       var c = $('#adresses-0').clone();
  32.       var cplus = c.html().replace(/adresses-0/g, 'adresses-'+prochaineadresse);
  33.       c = cplus.replace(/adresses\[0/g, 'adresses['+prochaineadresse);
  34.       c = '<fieldset id="adresses-'+prochaineadresse+'">'+c+'</fieldset>';
  35.       $(dernierinputa).after(c);
  36.  
  37.       if (derniereadresse<1) $('#adresse-moins').removeClass("disabled");
  38.       derniereadresse++
  39.  
  40.     }
  41.   );
  42.   $('#adresse-moins').click(
  43.     function(){
  44.       if ( !$(this).hasClass("disabled")){
  45.         $("#adresses-"+derniereadresse).remove();
  46.         derniereadresse--;
  47.         if(derniereadresse<1) $(this).addClass("disabled");
  48.       }
  49.     }
  50.   );
  51. </script>

j'ai placé un

Code: php

  1. die(debug($_POST));

dans mon controleur

je remplis mon formulaire avec 2 adresses, mais :

voilà le retour :

Code: php

  1. /src/Controller/PersonnesController.php (line 57)
  2. [
  3.     '_method' => 'POST',
  4.     'prenom' => 'Bruce',
  5.     'nom' => 'Wayne',
  6.     'naissance' => '10/10/2010',
  7.     'telephones' => [
  8.         (int) 0 => [
  9.             'id' => '',
  10.             'numero' => '111111111'
  11.         ],
  12.         (int) 1 => [
  13.             'id' => '',
  14.             'numero' => '222222222'
  15.         ]
  16.     ],
  17.     'mails' => [
  18.         (int) 0 => [
  19.             'id' => '',
  20.             'email' => 'bruce@wayne-enterprise.com'
  21.         ],
  22.         (int) 1 => [
  23.             'id' => '',
  24.             'email' => 'ihatebats@hotmail.com'
  25.         ]
  26.     ],
  27.     'adresses' => [
  28.         (int) 0 => [
  29.             'id' => '',
  30.             'nomvoie' => '4e avenue',
  31.             'ville_id' => '49'
  32.         ]
  33.     ]  
  34. ]

On voit que j'ai créé dynamiquement des champs téléphones et mails qui sont pris en compte... mais pas les adresses ?
Les champs téléphones et mails ne crées que 2 inputs :

un hidden pour l'id
un input
Je ne comprends pas...

Merci à tous !!

Dernière modification par bebsb (16-10-2017 09:58:46)

Hors ligne

 

#2 16-10-2017 09:58:07

bebsb
Chouquette
Date d'inscription: 12-09-2013
Messages: 2

Re: [résolu] champs supplémentaires non postés

j'ai trouvé la solution sur un autre forum...

Les balises form n'étaient pas encastrées comme il faut...

Merci aux personnes qui auront lu wink

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr