Je suis occupée de développer une api de gestion de contact
En me fournissant le back, on me spécifie que les numéros sont dans les contacts (tableau dans un tableau)
Code : Tout sélectionner
{
"id": 1,
"nom": "i",
"prenom": "Test1",
"adresse": "rue de la vie",
"createdAt": "2006-02-15T04:34:33.000Z",
"updatedAt": "2019-03-29T09:47:31.000Z",
"numeros": [
{
"id": 9,
"numero": "11111111"
},
{
"id": 10,
"numero": "1222222"
}
]
}Code : Tout sélectionner
contact.saveForm = function () {
const id = $('#id').val();
const nom = $('#nom').val();
const prenom = $('#prenom').val();
const adresse = $('#adresse').val();
$.ajax({
url:monurl+ (id != null ? '/' + id : ''), //je ne mets pas l'url en public sur le forum, bien évidemment.
method: 'post',
data: {
id: id,
nom: nom,
prenom: prenom,
adresse: adresse,
}
}).done(function (data) {
const index = contact.data.findIndex(function(c){
return c.id === data.id;
});
if(-1 === index){ //findIndex renvoie -1 si l'id n'existe pas
contact.data.push(data);
}else{
contact.data[index] = data; //[index] retourne la position
}
contact.refreshTable();
contact.toggle();
});
};Code : Tout sélectionner
<form id="contact-edit">
<input type="hidden" id="id" name="id" />
<div class="form-group">
<label for="label">Nom</label>
<input type="text" class="form-control" id="nom" name="nom">
</div>
<div class="form-group">
<label for="description">Prénom</label>
<input type="text" class="form-control" id="prenom" name="prenom">
</div>
<div class="form-group">
<label for="start_date">Adresse</label>
<input type="text" class="form-control" id="adresse" name="adresse">
</div>
<a class="btn btn-success add-more-btn">Ajouter un numéro</a>
<div class="form-main">
<div class="form-block">
<div class="form-group">
<input type="hidden" id="idN" name="id" />
Numéro
<input type="text" name="numero" id="numero" class="form-control">
</div>
</div>
</div>
<button type="button" onclick="contact.cancelForm();" id="button" class="btn btn-primary">Annuler</button>
<button type="submit" onclick="contact.saveForm();event.preventDefault()" class="btn btn-primary">Enregistrer</button>
</form>Merci à ceux qui me répondront..