L’attribut onclick
est déconseillé depuis des années.
Je pense que si tu utilises des POST alors, il y a beaucoup trop de choses dans l’architecture de ton projet qui ne vont pas.
Aussi, le fait que tu n’arrives pas à résoudre ce problème:
Avec la solution ci-dessus, j’ai rencontré un petit problème : l’évènement cible l’image à l’intérieur du formulaire et non pas le formulaire lui-même…
Est un signe que tu n’es pas coutumier de l’informatique. Ou au moins de JS mais la première option expliquerait également les choix architecturaux douteux.
J’ai le sentiment que tu bricoles en cherchant à droite à gauche. Ça marche à peu prêt comme tu veux, donc tu t’en tiens à ça.
C’est pas pas trop mal comme stratégie pour apprendre en vérité.
Juste, l’attribut onclick
(ainsi que la flopée d’attributs du même style) est déprécié et désormais ne fonctionne plus dans certains cas.
Il pose un problème de sécurité et de responsabilité (l’HTML n’a pas à contenir de logiques mais sert à structurer le document).
La solution pour ton problème de target est simplement de ne pas utiliser target
. Tu peux à la place utiliser currentTarget
ou simplement répéter le document.querySelector('#idDuForm')
dans la lambda :
document.querySelector('#idDuForm').addEventListener('click', e => document.querySelector('#idDuForm').submit())