Bonjour,
J'ai un formulaire sur lequel j'ai un champs qui s'appelle Nom(s), j'ai réalisé un code en javascript permettant à l'utilisateur de saisir un nom ou plusieurs, pour cela j'ai affiché un petit plus devant mon input lorsqu'il clique dessus un autre input s'affiche devant lui un bouton supprimer(dans le cas ou il veut pas entrer un autre nom). Jusqu'ici tout marche bien je v vous donner le code.(Coter PHP j'ai utiliser la fontions implode pour enregistrer dans ma table.)
<div class="form-group">
<div name="add_name" id="add_name">
<label class="col-sm-4 control-label">Nom(s)</label>
<div class="col-md-4">
<table class="table table-bordered" id="dynamic_field">
<tr>
<td><input type="text"id="propositio_solution_par" name="propositio_solution_par[]" class="form-control name_list" /></td>
<td><button type="button" name="add" id="add" class="btn btn-success"><i class="glyphicon glyphicon-plus"></i></button></td>
</tr>
</table>
</div>
</div>
</div>
<script>
$(document).ready(function(){
var i=1;
$('#add').click(function(){
i++;
$('#dynamic_field').append('<tr id="row'+i+'"><td><input type="text" name="propositio_solution_par[]" class="form-control name_list" /></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');
});
$(document).on('click', '.btn_remove', function(){
var button_id = $(this).attr("id");
$('#row'+button_id+'').remove();
});
});
</script>
Après avoir enregistrer, l'utilisateur peut modifier en cliquant sur un bouton modifier, les champs du formulaire se remplissent avec les valeurs enregistrées, mon soucis c que si l'utilisateur a entré deux noms par exemple(sam, zac), lors de la modification j'aurai un seul input qui contient sam, zac, alors que mois je veux avoir un input avec sam et un autre avc zac. Si vous avez une idée je suis preneuse merci .
salut :)
Alors le problème vien de ton PHP, tu à fait un implode pour enregistrer, du coup dans ta base tu n'a pas plusieurs lignes avec chacun un nom, mais une ligne nom avec une string de noms
Donc la tu as deux solutions:
$arrayNames = explode(',', $names)
Et ensuite tu foreach le fetch de la premiere solution ou le $arrayNames
de la deuxieme solution dans ta vue et tu affiches les input à chaque fois :)
Merci bcp pour votre réponse, c très intéressant ce que vous me dite, je v tester tout ça.
MERCI