Le bouton de suppression lisait l’adresse cible du formulaire avec form.action en JavaScript — mais le formulaire a aussi un champ caché nommé action (qui porte la valeur action=delete pour le serveur), et le nom d’un champ masque une propriété du même nom sur l’élément <form>. form.action renvoyait donc ce champ caché au lieu de l’adresse, et la demande de suppression partait vers une adresse absurde au lieu du serveur — elle n’atteignait jamais l’application, ce qui explique aussi que rien n’apparaissait dans les journaux du serveur pendant ce temps.
Le bouton lit maintenant l’adresse directement dans l’attribut action du formulaire au lieu de la propriété masquée, si bien que les demandes de suppression arrivent où elles doivent.