J'essaie d'atteindre une cible, je ne sais pas si je prends la bonne direction. J'utilise Codeigniter pour insérer des données de formulaire dans la base de données. J'ai un champ déroulant, en dessous de certains champs d'entrée peuvent être affichés en fonction de la valeur sélectionnée dans la liste déroulante. Les champs déroulants et les champs de saisie sont liés. La façon dont j'essaie de se rendre compte que me fait besoin de convertir l'objet JSON aux champs d'entrée, car après avoir fait une sélection dans le menu déroulant résultat apparaît comme ceci:Convertir un objet json en champ de saisie
[{"name":"NSS"},{"name":"POLIZA"},{"name":"CARNET"}]
Comment puis-je convertir le résultat ci-dessus pour:
<input type="text" name="NSS">
<input type="text" name="POLIZA">
<input type="text" name="CARNET">
est inférieure à la façon dont je tente de le réaliser:
I FORMULAIRE VIEW.
<form method="post" action="<?php echo site_url('admin/save');?>" >
<div class="form-group">
<label>Seguro médico</label>
<div class="col-sm-6">
<select name="seguro_medico" id="seguro_medico">
<option></option>
<?php
foreach($seguro_medico as $row)
echo '<option value="'.$row->id_ap.'">'.$row->medical_insurance.'</option>';
?>
</select>
</div>
</div>
<div id="seguro_input">
<?php
if (isset($GET_INPUT)) {
foreach($GET_INPUT as $get_input) {
?>
<div class="form-group">
<label><?=$get_input->name;?></label>
<div class="col-sm-6">
<input type="text" name="<?=$get_input->name;?>" >
</div>
</div>
<?php
}
}
?>
</div>
<input type="submit" name="send_citas" value="Send">
</form>
II- CODE JQUERY.
$(document).ready(function() {
$("#seguro_medico").on('change',function(e) {
e.preventDefault();
$.ajax({
url: '<?php echo site_url('admin/get_input');?>',
type: 'post',
data: 'seguro_medico='+$("#seguro_medico").val(),
success: function(data) {
$("#seguro_input").html(data);
}
});
});
});
III- LE CONTRÔLEUR (get_input).
public function get_input() {
$seguro_medico=$this->input->post('seguro_medico');
$query = $this->model_admin->get_input($seguro_medico);
$data['GET_INPUT'] =$query;
echo json_encode($query);
}
Merci beaucoup c'est exactement ce que je dois. Mais maintenant, comment puis-je passer le nom du champ d'entrée au contrôleur qui enregistre le formulaire dans la base de données? Comme 'input1' => $ this-> input-> post ('input1') – Diasline
Oui, c'est ça. Si vous soumettez le formulaire avec un POST, dans votre contrôleur, vous recevrez une variable de publication pour chaque entrée. –
J'ai essayé comme: la fonction publique save() { $ save = array ( 'seguro_medico' => $ this-> entrée-> après ('seguro_medico') ) }. Je ne sais pas comment afficher les valeurs d'entrée. – Diasline