Salut à tous,
Un petit problème en Javascript pur pour débuter la soirée
Voici la page en question :
http://www.kevinfeutray.fr/test/pixel-admin/index.php?page=articles&action=modify&id=1
les logs sont admin/admin, il faudra c/c l'url a nouveau après s'etre log, désolé.
En cliquant sur supprimer l'image, vous pouvez supprimer l'image de votre choix, mais impossible de supprimer la deuxieme après...
Je ne comprends pas du tout d'ou vient le probleme :
La deuxieme fois ou l'on clique sur supprimer n'affiche pas console.log(this);alert("delete"); (oui, console.log et alert car plus on est de fous plus on rit ! Nan c'est pas ça...?)
Pourtant, la premiere image supprimée peut etre l'une ou l'autre donc le probleme ne vient pas de l'ecouteur d'evenement logiquement...
Je suis un peu perdu sur le coup, si quelqu'un a une idée du pourquoi du comment !
Merci d'avance
ps: Je pense qu'en jQuery, ça passait tout seul en 2min top chrono mais.... mettre autant de ligne pour inclure le jquery que de ligne de traitement JS, je trouvais ça un peu bête, et c'est aussi un challenge, maintenant que j'ai commencé jveux savoir pourquoi ça bloque
[/i]
PS2 :
La deuxième chose c'est ces lignes :
Il me semblait plus logique de les inverser puisque la premiere supprime l'element correspondant à this.previousSibling.src auquel je fais appel dans la deuxieme ligne.
Mais c'est pourtant dans cette ordre et seulement celui la que la suppresion de la div et l'ajout du champs input fonctionne...Mystère.
Modifié par SpiStache (07 Aug 2014 - 20:21)
Un petit problème en Javascript pur pour débuter la soirée

Voici la page en question :
http://www.kevinfeutray.fr/test/pixel-admin/index.php?page=articles&action=modify&id=1
les logs sont admin/admin, il faudra c/c l'url a nouveau après s'etre log, désolé.
En cliquant sur supprimer l'image, vous pouvez supprimer l'image de votre choix, mais impossible de supprimer la deuxieme après...
Je ne comprends pas du tout d'ou vient le probleme :
function deletefile(){console.log(this);alert("delete");
var el = document.getElementById("form-admin");console.log(this);
this.parentNode.parentNode.removeChild(this.parentNode);
el.innerHTML += '<input type="hidden" name="deleteimg'+ count2 + '" value="'+ this.previousSibling.src +'"/>';
count2++;
}
var count2 = 1;
var el2 = document.getElementsByClassName("delete-img");
for(var i = 0, j=el2.length; i<j; i++){
el2[i].addEventListener("click", deletefile, false);
}
La deuxieme fois ou l'on clique sur supprimer n'affiche pas console.log(this);alert("delete"); (oui, console.log et alert car plus on est de fous plus on rit ! Nan c'est pas ça...?)
Pourtant, la premiere image supprimée peut etre l'une ou l'autre donc le probleme ne vient pas de l'ecouteur d'evenement logiquement...
Je suis un peu perdu sur le coup, si quelqu'un a une idée du pourquoi du comment !
Merci d'avance

ps: Je pense qu'en jQuery, ça passait tout seul en 2min top chrono mais.... mettre autant de ligne pour inclure le jquery que de ligne de traitement JS, je trouvais ça un peu bête, et c'est aussi un challenge, maintenant que j'ai commencé jveux savoir pourquoi ça bloque

PS2 :
La deuxième chose c'est ces lignes :
this.parentNode.parentNode.removeChild(this.parentNode);
el.innerHTML += '<input type="hidden" name="deleteimg'+ count2 + '" value="'+ this.previousSibling.src +'"/>';
count2++;
Il me semblait plus logique de les inverser puisque la premiere supprime l'element correspondant à this.previousSibling.src auquel je fais appel dans la deuxieme ligne.
Mais c'est pourtant dans cette ordre et seulement celui la que la suppresion de la div et l'ajout du champs input fonctionne...Mystère.
Modifié par SpiStache (07 Aug 2014 - 20:21)