Bonjour à tous,
J'ai un petit soucis que je rencontre de manière récurrente, j'ai décidé de poster ici, afin de voir si une solution existe :
Je m'excuse d'avance pour l'approximation de la terminologie employée, je ne suis pas un développeur professionnel, ou plutôt, je ne le suis plus depuis une époque ou Ajax n'existait pas . N'hésitez donc pas à me poser des questions supplémentaires ou me demander de préciser.
J'ai donc la structure de page web suivante, appelons là "page.php" :
- "#parse-haut" : Partie haute avec un formulaire que nous appelerons "formulaireUN" contenant une liste déroulante et un bouton "submit".
- "#parse-bas" : Partie basse
Lorsque l'utilisateur sélectionne une option de la liste dans la partie haute et qu'il clique sur submit, la soumission du formulaire est interceptée par Jquery,
via "($('#formulaireUN').on('submit', function()", et ce dernier est soumis via ajax, à une page PHP, appelons-là "partiebasse.php" qui affiche son contenu dans la partie "parse-bas". Jusque là, tout va bien.
La partie basse contient ensuite une succession de contenus, qui sont tous appelés via des liens et la méthode "onClick" et affichés à nouveau via ajax dans cette même partie basse, sans recharger la page complète. Jusque là, tout va bien également .
Le problème arrive ensuite. L'une des pages affichées dans cette partie basse (et donc appelée, elle-même via ajax), contient elle même un NOUVEAU formulaire que l'on appellera "formulaireDEUX" (cette fois-ci composé de plusieurs champs de type input/texte ou textarea et des listes déroulantes). Je souhaite qu'à la soumission de ce formulaire, il soit EGALEMENT intercepté par Jquery et soumis via ajax pour affichage du contenu suivant dans cette même partie basse.
Or, cette fois-ci, le $('#formulaireDEUX').on('submit', function() ne fonctionne pas. J'ai essayé de positionner la fonction d'interception dans la page "page.php" maitre, (la toute première qui contient les zones "parse-haut" et "parse-bas", dans une zone délimitée par "$(document).ready(function() {", aucun effet. J'essaye de le positionner dans la page "parsebas.php" (partie de page affichée par ajax, dans laquelle le formulaire est codé), ça ne marche pas non plus. La soumission n'est pas interceptée, et au lieu de ne recharger que la partie cible de la page, le navigateur charge la page "parsebas.php" sur toute la zone de navigation.
Du coup, je me demande s'il existe un moyen de resoumettre un formulaire via Ajax, depuis une partie de page qui avait déja été appelée par Ajax.
Je vous serai reconnaissant si vous pouvez m'aider à résoudre ce problème
Excellente journée à tous
Cdt
Stéphane
Partager