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

WordPress PHP Discussion :

formulaire de contact ajax sur mon thème one page perso


Sujet :

WordPress PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 211
    Par défaut formulaire de contact ajax sur mon thème one page perso
    Bonjour,

    J'essaie de faire un formulaire de contact ajax sur mon thème one page perso et j'ai une erreur que je ne vois pas

    Version Wordpress: 4.9.5

    Dans la console, cela m'affiche: Uncaught SyntaxError: Unexpected token function
    sur cette ligne: success(function(donnees) {

    Pour tant, je ne vois aucune erreur après avoir passé en revue le code de nombreuses fois mais voilà, je ne suis pas fortiche en ajax. Je vous remercie de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    //Pour éviter les conflits jQuery, ne pas saisir ni le $ ni Document.ready
    jQuery("#mailForm").submit(ajaxSubmit);
    function ajaxSubmit(){
      var nouveauMail = jQuery(this).serialize();
      jQuery.ajax({
        url: 'wp-admin/admin-ajax.php',//Pour envoyer un formulaire via worpress
        type: 'POST',
        data: {action="my_action", 'formData': nouveauMail},//Pour envoyer les données sérializées
        success(function(donnees) {
          jQuery('#confirmation').html(donnees);
        }
        )});
      return false;
    }

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 666
    Par défaut
    l'appel à la fonction "success" se trouve au milieu d'une définition d'un objet JavaScript donc ce ne peut pas fonctionner.
    ensuite avec JQuery, l'utilisation de la fonction de callback "success" n'est plus conseillée depuis la version 1.5, mais il vaut mieux utiliser la méthode "done" :
    http://api.jquery.com/jQuery.ajax/

    donc au final, l'appel AJAX devrait ressembler à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    jQuery.ajax({
    	url: 'wp-admin/admin-ajax.php',// Pour envoyer un formulaire via worpress
    	type: 'POST',
    	data : {action : "my_action", 'formData' : nouveauMail},// Pour envoyer les données sérializées
    })
    .done(function (donnees) {
      jQuery('#confirmation').html(donnees);
    })
    ;
    attention aussi au "action=..." qui n'est pas correct.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 211
    Par défaut Formulaire ajax
    Merci d'avoir répondu alors j'ai fais comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
          function ajaxSubmit(){
            var nouveauMail = jQuery(this).serialize();
            jQuery.ajax({
            url: 'wp-admin/admin-ajax.php',// Pour envoyer un formulaire via worpress
            type: 'POST',
            data : {
              action : "my_action",
              'formData' : nouveauMail
            }// Pour envoyer les données sérializées
          })
            .done(function (donnees) {
              jQuery('#confirmation').html(donnees);
            })
            return false;
          }
    cela ne me retourne aucune erreur, mais cela ne fonctionne pas.

Discussions similaires

  1. Formulaire de contact AJAX/PHP
    Par dtslp dans le forum AJAX
    Réponses: 2
    Dernier message: 27/09/2017, 07h37
  2. Force scrolling sur une site one page
    Par AroundStick dans le forum jQuery
    Réponses: 2
    Dernier message: 06/04/2017, 13h40
  3. Réponses: 5
    Dernier message: 14/06/2012, 20h31
  4. [AJAX] Mettre l'ajax sur mon script php
    Par pierrehs dans le forum AJAX
    Réponses: 3
    Dernier message: 03/11/2010, 15h50
  5. Réponses: 3
    Dernier message: 31/01/2009, 17h28

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