Bonjour,
Je veux pouvoir récupérer les valeurs de mon formulaire directement apres le post(click sur le boutton envoyer) et non par angularjs puis php.
Tous les menus et sélects fonctionnes correctement mais lors du post certains champs sont vide ce que je ne comprends pas
dans mon formulaire je fait ceci
<div class="row" ng-controller="geolocalisationsCtrl" >
<div class="large-4 medium-4 columns">
</div>
<nav class="large-4 medium-4 columns" id="actions-sidebar">
<ul class="side-nav">
<li class="heading"><?= __('Actions') ?></li>
<?=$this->Form->create(NULL,["class"=>"form","ng-submit"=>"sendform","url"=>["action"=>"savedata"]]) ?>
<li>
<?= $this->Form->input('ville_id',['type' => 'select','class' => 'form-control','options' =>$villes,'div'=>false,'label'=>false,'ng-change'=>'listearrondissement()','data-ng-model' => 'form.choixville','empty'=>'Choisir une ville']);?>
</li>
<li>
<select class="form-control" required="required" data-ng-model="form.arrondis" data-ng-change="listequartiers()" data-ng-options="arrondissement.id as arrondissement.nom_arrondissement for arrondissement in listarondissement" name="arrondissement.id">
<option value='' disabled selected> Choisir un arrondissement</option>
</select>
</li>
<li>
<select class="form-control" required="required" data-ng-model="form.quartier" data-ng-change="Support()" data-ng-options="quater.id as quater.nom_quartier for quater in listequartier" name="quartier" >
<option value='' disabled selected>Choisir une localité</option>
</select>
</li>
<li>
<select class="form-control" required="required" data-ng-model="form.support" data-ng-change="Annonceur()" data-ng-options="support.id as support.nom_support for support in listesupport" name="support">
<option value='' disabled selected>Choisir un support</option>
</select>
</li>
<li>
<select class="form-control" required="required" data-ng-model="form.annonceur" data-ng-change="detail()" data-ng-options="client.id as client.entreprise for client in listeannonceur" name="annonceur">
<option value='' disabled selected>Choisir un annonceur</option>
</select>
</li>
<li>
<input data-ng-model="form.localisation" class="form-control" type="text" required="required" placeholder="repère ..." name="localite" />
</li>
<li>
<input class="form-control" type="file" file-input="files" required="required" name="file_localiser" />
</li>
<li>
<input ng-model="form.long" class="form-control" type="text" required="required" value="123" name="longitude" />
<input ng-model="form.lat" class="form-control" type="text" required="required" value="321" name="latitude" />
</li>
<li>
<button class="btn btn-primary" ng-submit="save">Envoyer</button>
</li>
<?= $this->Form->end() ?>
</ul>
</nav>
<div class="large-4 medium-4 columns">
</div>
</div>
je veux que lorsque l'on clique sur submit, que le formulaire envoi les données avec les bonnes valeurs,
que dans mon action je puisse récupérer les valeurs exactes car tous les chamsp fonctionnents bien. lorsque je fait le save par angularjs, tous ce passe bien. Mais lorsque je veux utiliser php pour récupérer les données tous les champs sélects sont vide
[
'ville_id' => '1',
'arrondissement_id' => '0',
'quartier' => '0',
'support' => '0',
'annonceur' => '0',
'localite' => 'ezr',
'file_localiser' => '723-header.jpg',
'longitude' => 'aze',
'latitude' => 'aze'
]
les valeurs quartier, support, arrondissement et annonceurs sont égales à 0
résolu, il fallait juste ajuster les select de cette façon:
<div class="row" ng-controller="geolocalisationsCtrl" >
<div class="large-4 medium-4 columns">
</div>
<nav class="large-4 medium-4 columns" id="actions-sidebar">
<ul class="side-nav">
<li class="heading"><?= __('ENREGISTREMENT') ?></li>
<?=$this->Form->create($geomap,["type"=>"file","class"=>"form","context"=>['validator'=>'default']]) ?>
<li>
<?= $this->Form->input('ville_id',['type' => 'select','class' => 'form-control','options' =>$villes,'div'=>false,'label'=>false,'ng-change'=>'listearrondissement()','data-ng-model' => 'form.choixville','empty'=>'Choisir une ville',"required"=>true]);?>
</li>
<li>
<select class="form-control" required="required" data-ng-model="form.arrondis" data-ng-change="listequartiers()" name="arrondissement.id">
<option value='' disabled selected> Choisir un arrondissement</option>
<option ng-repeat="option in listarondissement" value="{{option.id}}">{{option.nom_arrondissement}}</option>
</select>
</li>
<li>
<select class="form-control" required="required" data-ng-model="form.quartier" data-ng-click="localiser()" data-ng-change="Support()" name="quartier_id" >
<option value='' disabled selected>Choisir un Quartier</option>
<option ng-repeat="option in listequartier" value="{{option.id}}">{{option.nom_quartier}}</option>
</select>
</li>
<li>
<input data-ng-model="form.localisation" class="form-control" type="text" required="required" placeholder="Repère/rue ..." name="rue" />
</li>
<li>
<select class="form-control" required="required" data-ng-model="form.support" data-ng-change="Annonceur()" name="support_id">
<option value='' disabled selected>Choisir un support</option>
<option ng-repeat="option in listesupport" value="{{option.id}}">{{option.nom_support}}</option>
</select>
</li>
<li>
<select class="form-control" required="required" data-ng-model="form.annonceur" data-ng-change="detail()" name="annonceur_id" >
<option value='' disabled selected>Choisir un annonceur</option>
<option ng-repeat="option in listeannonceur" value="{{option.id}}">{{option.entreprise}}</option>
</select>
</li>
<li>
<?= $this->Form->input('image1_file',['type'=>'file','label'=>'Image rapprochée',"required"=>true]); ?>
<?= $this->Form->input('image2_file',["data-ng-model"=>"form.file2",'type'=>'file','label'=>'Image éloignée',"ng-click"=>"localiser()","required"=>true]); ?>
</li>
<li>
<strong>Etat du support</strong>
<?= $this->Form->radio('etat_support',[['value'=>'Neuf','text'=>'Neuf'],['value'=>'Moyen','text'=>'Moyen'],['value'=>'Dégradé','text'=>'Dégradé']],['label'=>'Etat du support','required'=>true]); ?>
</li>
<li>
<?= $this->Form->input('commentaire',['type'=>'textarea']); ?>
</li>
<li>
<input ng-model="lng" class="form-control" type="hidden" value="{{lng}}" name="longitude" />
<input ng-model="lat" class="form-control" type="hidden" value="{{lat}}" name="latitude" />
<span>Longitude: </span><strong>{{lng}}</strong>
<span>Latitude: </span><strong>{{lat}}</strong>
</li>
<li>
<button class="btn btn-primary">Enregistrer</button>
</li>
<?= $this->Form->end() ?>
</ul>
</nav>
<div class="large-4 medium-4 columns">
</div>
</div>