Salut,
$("#formulaire").serialize() à la place de $("#formulaire").serialize
@plus
Pierre
Bonjour,
Voila je suis novice dans l'utilisation d'Ajax et je me heurte à un problème. Je n'arrive pas à valider mon formulaire via un appel Ajax.
Voici donc la partie du code JS qui concerne cette action ...
... suivi de mon code PHP
... puis du code html du formulaire
Pour le moment, tout ce que j'obtiens c'est d'attérir sur ma page traitement_formulaire_contact.php qui contient le code PHP sus mentionné.
La page est blanche... Même mon var_dump($nom) n'a aucun effet.
Si une âme charitable pouvait m'aider, ce serait vraiment sympa.
Bonne soirée à tous.
13 réponses
Merci pour ta reponse, j´ai changé ça mais ça ne marche toujours pas malheureusement. Tu aurais une autre idée stp?
Merci d'avance!
il se passe quoi ?
tu as ouvert la fenêtre de déboguage de javascript ?
@plus
Rien justement, je suis juste redirigé vers traitement_formulaire_contact.php et rien ne se passe. :/ Rien dans la console.
Je me permets de rajouter l'ensemble de mon script JS, ainsi que ma page html de base.
Petite nouveauté. Jusqu'à présent, l'événement $("#formulaire").submit(function(e) ne produisait aucune action malgré les console.log et les alert que j'avais placé à l'intérieur. J'ai tenté de mettre le $("#formulaire").submit(function(e) à l'intérieur du bout de code contact.html où le formulaire est contenu et il semble qu'il se passe quelque chose.
Mes test sur les 3 champs en JS sont reconnus et le alert("Votre email a bien été envoyé." est bien affiché. Le problème c'est que mon mail n'est pas parti donc je pense que la communication entre ma requête Ajax et mon traitement_formulaire_contact.php ne se fait pas. Si quelqu'un pouvait m'aider ce serait vraiment cool. :-)
Salut,
Pourquoi c'est en commentaire ?
@plus
Pierre
Je l'avais déjà corrigé suite à mon dernier post mais ça ne marche toujours pas. Le problème doit venir du fait que la page ciblée par ajax "traitement_formulaire_contact.php" n'arrive pas à capter ce que je lui envoie ou alors n'arrive pas à l'interprêter... en regardant ma requête ajax y'a rien qui choque? Je ne sais pas je suis vraiment débutant et je ne suis aps trop à l'aise avec serialize, le format json etc. Ici on n'a pas à se servir de JSON on est bien d'accord?
Bonsoir,
Je pense que tu confonds un peu les choses au niveau de ton code en js et notament les parties success et error :
success est appelée une fois que la requête a bien été traitée du côté du serveur (côté php donc) que ton email soit envoyé ou pas.
Je t'invite à faire plusieurs choses :
- oublie pour le moment la partie email et retourne simple une chaîne de caractère avec les bons headers : quel doit être le type le valeur retournée par php ? du code html ? du code js ? (cherche sur internet un cas simple de requête en ajax)
- utilise effectivement du json : tu pourras indiquer si l'email est bien envoyé ou pas (email_send: true/false) et le message d'accompagnement (email envoyé/erreur de tel ou tel champ manquant ou invlalide)
- utilise du json côté js et côté php pour gérer tes erreurs, si ton tableau d'erreurs dans ton json côté js est vide est bien tu n'as pas d'erreur justement et si il n'est pas vide tu as au moins une erreur
N'aies pas peur de gérer ça en json en utilisant les id de ton formulaire dans tes messages d'erreur ce qui te permettra par exemple de rajouter le message d'erreur sous le champ correspondant (id et clé du json en commum : nom, email, message ...)
Je te remercie de ta réponse, je vais essayer de voir mais j'avais déjà cherché et j'avais pas réussi à comprendre. Comment spécifie-t-on ce que doit nous retourner un fichier PHP?
Avec la fonction header https://secure.php.net/manual/fr/function.header.php
Je te cherche un exemple de requête ajax...
Ici on parle du dataType attendu par la fonction ajax de jquery https://openclassrooms.com/courses/un-site-web-dynamique-avec-jquery/le-fonctionnement-de-ajax
Un exemple côté php pour retourner un json http://www.finalclap.com/tuto/cours-jquery-61/ajax-67/
Enfin, je suppose que tout est très bien expliqué dans cette vidéo https://www.grafikart.fr/tutoriels/jquery/ajax-jquery-520
Je te remercie infiniment pour ton aide. Je vais etudier ça et je reviens vers toi. :-)