Bonsoir, je suis débutant en javascript et j'aimerai bénéficier de vos lumières sur un problème qui me rend fou.
J'ai une page web avec un bouton, lorsque je clique sur ce bouton je fais afficher 3 input text + 1 input submit grâce à un .addEventListener. J'ai besoin de récupérer les données des inputs à l'issue du submit. pour les afficher dans une div.
Donc je met un nouveau .addEventListener submit sur le formulaire à l'intérieur du premier addeventlistener avec pour fonction de récupérer les données et les afficher.
Après avoir cliqué sur le bouton submit, la page revient à son état intial, jusqu'ici tout va bien.
Seulement, les données ne sont pas récupérées et rien ne s'affiche dans la div.
SAUF
si je met un .preventdefault(); et là le contraire se passe. Les données sont bien récupérées et affichées parfaitement. Mais la page web reste sur les formulaires et ne revient pas à son état initial.
Comment pouvoir récupérer ces fameuses données sans tout détraquer ?
Je n'ai pas mis mon code dans ce message volontairement, j'aimerai juste comprendre le principe.
Je remercie grandement d'avance la personne réussissant à m'expliquer ce qui ne va pas ! (et désolé si j'ai été flou dans l'explication)
Simplement quand tu submit le formulaire est envoyer et la page et donc rafrechie ou une autre page est appelle cela dépend de l’action du form.
Prevent comme sont non l’indiique bloque le fonctionnement naturel de html. Du coup tu récupères les infos car elles existent encore mais tu n’envoie pas le formulaire.
Merci pour votre réponse, je comprend mieux le fonctionnement maintenant.
Comment faire alors pour accéder à ces informations et rafraichir la page après coup ? Car je n'ai pas appris à utiliser un langage pour traiter ces informations, je n'ai pas mis d'action sur le form du coup.
C'est pour un exercice, à la limite je pourrais forcer à enlever le formulaire et faire réapparaitre le bouton mais je suis pas sûr que ce soit le plus adapté, surtout que si je veux envoyer un nouveau formulaire ça ne fonctionne pas très bien. Mais si il n'est pas possible d'arriver au résultat que je souhaite sans devoir passer par PHP par exemple alors ça ne me laisse pas trop le choix.
Tu dois passer ton form en Get et non en post dans ce cas !
Ce ne serait pas plus simple de gérer ton formulaire en php?