Bonjour à toutes et à tous!
J'essaie depuis plusieurs jours maintenant de résoudre un problème qui s’avère plus compliqué que je ne le pensais.
J'ai une page contact.php contenant un formulaire basique avec un input de type submit pour envoyer le formulaire.
Le formulaire à pour cible lui même, donc la page contact.php#section-contact-form. (Le navigateur amène jusqu'au formulaire via l'ancre #section-contact-form)
Un script PHP analyse le formulaire, et si tous les champs sont correctement remplis, du texte est ajouté à la page qui dit que le message à bien été envoyé.
Et jusqu'à la tout fonctionne bien.
Seulement j'aimerais que quand le texte qui est ajouté à la page pour dire que le message à bien été envoyé s'affiche, le navigateur aille jusqu'à l'ancre #anchor-delivery-confirmation au lieu de #section-contact-form, pour que l'utilisateur puisse voir le message sans avoir à scroller et comprenne bien que le message à été envoyé.
Par exemple si je rajoute le bout de code ci-dessous à la page cela ne fonctionne pas, pourtant ma condition est bonne et le JS fonctionne, sauf quand je soumet le formulaire... Et par contre si j'ai déjà soumis le formulaire, en réactualisant la page là ça fonctionne.
Donc j'aimerais trouver une méthode pour que le bout de code ci-dessus fonctionne lorsque je soumet le formulaire et que le navigateur amène donc le visiteur directement à l'ancre #anchor-delivery-confirmation quand le booléen $displayDeliveryConfirmation vaut vrai.
Merci de votre attention en espérant avoir été clair!
J'essaie depuis plusieurs jours maintenant de résoudre un problème qui s’avère plus compliqué que je ne le pensais.
J'ai une page contact.php contenant un formulaire basique avec un input de type submit pour envoyer le formulaire.
Le formulaire à pour cible lui même, donc la page contact.php#section-contact-form. (Le navigateur amène jusqu'au formulaire via l'ancre #section-contact-form)
Un script PHP analyse le formulaire, et si tous les champs sont correctement remplis, du texte est ajouté à la page qui dit que le message à bien été envoyé.
Et jusqu'à la tout fonctionne bien.
Seulement j'aimerais que quand le texte qui est ajouté à la page pour dire que le message à bien été envoyé s'affiche, le navigateur aille jusqu'à l'ancre #anchor-delivery-confirmation au lieu de #section-contact-form, pour que l'utilisateur puisse voir le message sans avoir à scroller et comprenne bien que le message à été envoyé.
Par exemple si je rajoute le bout de code ci-dessous à la page cela ne fonctionne pas, pourtant ma condition est bonne et le JS fonctionne, sauf quand je soumet le formulaire... Et par contre si j'ai déjà soumis le formulaire, en réactualisant la page là ça fonctionne.
<?php
if ($displayDeliveryConfirmation)
{
<script defer>
let anchorDeliveryConfirmation = document.getElementById("anchor-delivery-confirmation");
let posX = anchorDeliveryConfirmation.offsetLeft;
let posY = anchorDeliveryConfirmation.offsetTop;
window.scrollTo(posX, posY);
<script>
}
?>
Donc j'aimerais trouver une méthode pour que le bout de code ci-dessus fonctionne lorsque je soumet le formulaire et que le navigateur amène donc le visiteur directement à l'ancre #anchor-delivery-confirmation quand le booléen $displayDeliveryConfirmation vaut vrai.
Merci de votre attention en espérant avoir été clair!