J'ai un problème avec mon code. le bouton d'ajout dans le parent fonctionne, il ajoute bien. mais dans l'enfant, le bouton d'ajout ne fonctionne pas, même chose pour le bouton de suppression. le bouton de suppression de mon navigateur fonctionne uniquement dans le parent, et lorsque je clique sur le bouton de suppression, il supprime tous les champs que j'ai ajoutés auparavant et actualise le site. Bien que j'ai ajouté le preventDefault. Est-ce autorisé à utiliser preventDefault multiplier fois dans un fichier?deletebutton dans child et addbutton dans child ne fonctionnent pas
Voici mon code: https://jsfiddle.net/q3Lz997m/
code-fichier:
const clickBtn = document.querySelector('#addingPerson');
const field = document.querySelector('#inputPerson');
let i = 0;
const deleteField = document.querySelector('.deletePerson');
clickBtn.addEventListener('click', (event) => {
event.preventDefault();
const cloneField = field.cloneNode(true);
cloneField.id = i++;
field.parentNode.appendChild(cloneField);
});
deleteField.addEventListener('click', (e) => {
e.preventDefault();
field.parentNode.removeChild(field);
});
Merci à l'avance!
ah ok, mais votre code clone toutes les divs, non? Je l'ai essayé, et maintenant il clone tous les divs: /. et pouvez-vous expliquer, pourquoi vous avez utilisé tellement parentnode: D – ultraLord
Il ne clone pas tous les divs. Avez-vous essayé mon exemple jsfiddle (https://jsfiddle.net/q3Lz997m/3/)? Tant ParentNode est parce que e.target est votre bouton et nous voulons cloner son arrière grand grand grand parent (#inputPerson) :) Vous pouvez utiliser id comme paramètre pour ces fonctions. – stee1rat
et le d? où as-tu eu ça? parce que vous ne l'avez pas déclaré: D comme le e. Je l'ai déclaré/défini, parce que mon linter rôdait. et quand je l'ai déclaré comme ça: https://jsfiddle.net/q3Lz997m/4/. ça clone tout. et les boutons ne fonctionnent pas correctement – ultraLord