Ich arbeite in App mit CakePHP 3, in dieser App die Admin-Benutzer können für andere Benutzer, die ich versuche zu registrieren, ist die Erlaubnis, die Benutzer zu erstellen, mehrere zahlt an registrieren Einmal in der gleichen Ansicht, ein Pay pro Benutzer. Was ich getan habe, ist zuerst ein Formular zu erstellen, das die Felder für jeden Benutzer wiederholt.Mehrere Formulare, eine Submit-Taste in CakePHP 3
Das Problem ist, wenn ich auf den Absenden-Button klicke (ich will nur einen), die Daten, die ich in meinem Controller empfange, sind immer die Daten der letzten Felder. Ich weiß nicht, wie ich damit richtig umgehen soll. Hier
ist der Code, der mi Ansicht:
addMulti.ctp
<div class="pagos form col-lg-offset-2 col-lg-7">
<?= $this->Form->create(false) ?>
<?php foreach ($users as $user):
echo '<br><strong>'.$user->full_name.'</strong>';
echo $this->Form->checkbox('selected',['id'=>'select-'.$user->id,'onclick'=>'display_add_form('.$user->id.')']).'<br>';
echo '<div style="display: none;" id= form-'.$user->id.'>';
echo $this->Form->input('user_id', array(
'type' => 'hidden',
'value' => $user->id,
'id'=>'user-'.$user->id
));
echo $this->Form->input('mes', ['type' => 'month','selected'=>'0','id'=>'month-'.$user->id]);
echo $this->Form->input('monto',['default' => $user->monto_paga,'id'=>'monto-'.$user->id]);
echo $this->Form->input('año', ['type' => 'year', [
'minYear' => date('Y')-2,
'maxYear' => date('Y')+2
],'value'=> date('Y'),'id'=>'year-'.$user->id]);
echo $this->Form->input('forma_pago', ['options'=>['Efectivo'=>'Efectivo','Transferencia'=>'Transferencia','Cheque'=>'Cheque'],'id'=>'pago-'.$user->id]);
echo $this->Form->button('Cancelar',['type'=>'button','onclick'=>'hide_add_form('.$user->id.')','class'=>'btn btn-danger','id'=>'cancel-'.$user->id]);
echo '</div>';
endforeach;
echo $this->Form->button(__('Agregar Pagos'),['class'=>'btn btn-primary']);
echo $this->Form->end(); ?>
<script>
function display_add_form(id){
$("#form-"+ id).show('fast');
$("#select-"+ id).hide();
}
function hide_add_form(id) {
$("#form-"+ id).hide('fast');
$("#select-"+ id).show();
}
Es ist Arbeit, vielen Dank –