IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Soumission d'un formulaire via Ajax depuis une partie de page déja appelée via ajax


Sujet :

AJAX

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Soumission d'un formulaire via Ajax depuis une partie de page déja appelée via ajax
    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

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    le problème peut se poser si au moment de l'appel de "$('#formulaireDEUX').on('submit'," le formulaire DEUX n'existe pas encore et donc jQuery ne peux pas accrocher cet événement

    pour résoudre cela il suffit d'accrocher cela à un élément parent qui existe déjà, le plus simple étant "document" qui est le plus haut dans la hiérarchie ce qui donne cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).on("submit", "#formulaireDEUX", function ...
    et comme ça la fonction sera appelée même si le formulaire n'existe pas encore au moment de l'exécution de cette ligne

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup mathieu, je vais essayer cela dès ce soir

Discussions similaires

  1. partie de formulaire dans une dialog()
    Par Luke spywoker dans le forum jQuery
    Réponses: 2
    Dernier message: 15/03/2012, 22h25
  2. Mutiple formulaire dans une page HTML
    Par yannickexia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/07/2005, 22h20
  3. Formulaire dans une fenêtre modale
    Par Amnesiak dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 14h25
  4. Réponses: 2
    Dernier message: 11/12/2004, 21h20
  5. Recuperation de formulaire dans une fonction
    Par arsgunner dans le forum ASP
    Réponses: 5
    Dernier message: 23/06/2004, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo