Bonjour à vous,
Je suis en stage, et après ma première mission remplis avec succès, me voilà confronté à un problème, on ma confié la résolution d'un problème sur une application, la personne enregistrant son rapport, rien ne se passe à l'écran donc celle-ci, ré appuie comme nous le ferions tous, or cela s'enregistre bien et créé des doublons, problème malgré que je soit nul en ajax le code me semble juste (image de la box) en effet quand le rapport s'ajoute, la fonction "liste_rapport()" est appelé si je comprends bien, car dans le script de modification cela s’exécute bien (voir image en commentaire)
Le formulaire est dans une fenêtre dialog, donc quand j'enregistre ET que l'ajout se fait cela doit ouvrir liste_rapport(), se qui ne se fait pas lors de l'ajout mais qui se fait lors de la modification alors que le code revient au même, si resultat est différent de "" alors on passe dans le else.
Cela fais deux jours que je suis la dessus, quelqu'un aurait-il la solution à mon problème ?
Code d'ajout qui ne m'ouvre pas liste_rapport() :
$.ajax({
type: "POST",
url: "rapport_enregistrer_vide.php",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
data: {pdate:date, pheure:heure, pfin:fin, ptemps:temps, pid_client:id_client, ptype:type, pid_contact:id_contact,
pnuit:nuit, pcommande:commande, pmontant:montant, pkm_depart:km_depart, pkm_arrivee:km_arrivee, pkm:km, paction:action,
prendu:rendu, pkm_domicile:km_domicile, pprospect:prospect, pnom_prospect:nom_prospect}
}).done(function(result) {
if (result != "")
$('#erreur_rapport').html(result);
else
liste_rapport();
});
Code de la modification qui lui fermer bien la fenêtre et retourne à liste_rapport() :
$.ajax({
type: "POST",
url: "rapport_modifier_temp.php",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
data: {pid_rapport:id_rapport, pdate:date, pheure:heure, pfin:fin, ptemps:temps, pid_client:id_client, ptype:type,
pid_contact:id_contact, pnuit:nuit, pcommande:commande, pmontant:montant, pkm_depart:km_depart, pkm_arrivee:km_arrivee, pkm:km, paction:action,
prendu:rendu, pkm_domicile:km_domicile, pnom_prospect:nom_prospect}
}).done(function(result) {
if (result != "")
$('#erreur_rapport').html(result);
else if (dialogue == "rapport")
liste_rapport();
else
get_planning(dialogue);
Merci de vos réponse
Le node n'est pas formaté, tu pourrais le mettre sur un wall stp ? (wall.deblan.org par exemple)
Quoiqu'il en soit, je t'invite à faire des console.log de result. Par ailleurs, en qualité de syntax nazi, tu devrais très sérieusement indenté en suivant une convention.
Il manque aussi quelques lignes amha.
Merci de ton aide
Le code d'ajout qui ne fonctionne pas :
https://wall.deblan.org/x1cd7/javascript/1/
Le code de modification qui lui fonctionne :
https://wall.deblan.org/x1cd8/javascript/1/
J'ai fait un console.log(result) la console me dit que result n'existe pas (not defined)
Alors qu'il est utilisé ici : $('#erreur_rapport').html(result);
Et que l'erreur en cas de champs non remplis s'affiche bien
Quand tu analyses les requêtes XHR, tu as quoi comment code HTTP dans la réponse ? une 200 ?
Heu comment on analyse ses requêtes ?
Je ne m'y connait que très peu en js/ajax/jquery, je suis plus orienté php
Avec un inspecteur/profiler (et le bordel qu'il y a autour) comme FireBug.
je suis à 200 et ça appelle l'url de la fonction ajax : rapport_enregistrer_vide.php
Et pas dans le else donc pas dans lister_rapport()
et quel est le contenu de la réponse ?
La réponse c'est du code html
https://wall.deblan.org/x1cd9/html/1/
Donc result n'est pas vide si je comprends bien et est censé lancer la function liste_rapport(), ce que je vais justement faire mais il ne le fait pas
Bon, déjà tu a des erreurs PHP à résoudre. Ce qui veut dire que si tu t'attends à ce que liste_rapport() soit lancée, tu dois les résoudres (pour avoir un message non vide que s'il y a des erreurs dans le formulaire).
C'est ce que je me suis dis, j'ai chercher un peu mais le code n'étant pas commenté, je vais avoir du mal à trouve bon c'est partie pour réglé le problème de session !
En tout cas merci de ton aide je verrais ça lundi en retournant au taf, merci beaucoup tu m'a bien aidé, maintenant j'en connais un peu plus en débogage merci !
Tu devrais poster ici avant d'aller sur choualbox
j'y penserais la prochaine fois, en tous cas merci j'ai déjà réglé le problème en 10 petites minutes, merci beaucoup