Bien le bonjour à vous tous!
Je suis nouveau sur ce forum
Je développe un site, et voilà que je me retrouve avec une erreur étrange, je vous montre le code et les explications ensuite (j'utilise la librairie prototype, et j'utilise Ajax.Request pour faire une requete en arrière plan) :
Là ou j'ai mis " //////////////////////////////////////////////////////////" c'est pour vous indiquer l'ordre d'apparition des alert()
Le problème c'est qu'il affiche d'abord le alert n°2, à ce moment malheureusement la valeur de save est encore égale à "", du coup le return renvoie pas false et mon formulaire est envoyé... le alert n°1 n'est envoyé qu'aprés...
Je ne comprend donc pas pourquoi il fait le alert n°2 avant le alert n°1, dans l'ordre des appels il devrait le faire dans l'ordre des numéros nan?!
La fonction verifFormSeance() est appelée depuis un formulaire sur un onsubmit.
Ce que je veux que ça fasse c'est qu'avant de valider le formulaire une vérification soit faite (non pas sûr les champs, même si du coup je suis obligé de vérifier qu'ils sont corrects, je vous ai épargné ce code puisqu'il fonctionne (je fais aussi la vérification du côté php)).
Voilà je suis bien coincé du coup... Merci à vous pour vous pencher sur mon problème...
Je suis nouveau sur ce forum

Je développe un site, et voilà que je me retrouve avec une erreur étrange, je vous montre le code et les explications ensuite (j'utilise la librairie prototype, et j'utilise Ajax.Request pour faire une requete en arrière plan) :
var save = "";
// s'il y a chevauchement ou autre demande confirmation sinon valide
var handlerFunc = function(t) {
if("valid" == t.responseText){
save = true;
}else{
save = confirm("Attention il y a un chevauchement entre les films, ou le film est déja programmé dans une autre salle ! Souhaitez vous tout de meme poursuivre ?");
alert(save); //////////////////////////////////////////////////////////alert n°1
}
}
function verifFormSeance(){
var verif = true;
//... blablabla verification tout ca...
if(verif){
var para = "action=verifSeance&heure=" +$F('heure')+ "&minute=" +$F('minute')+ "&idFilm=" +$F('id_films');
new Ajax.Request('../ajax/index.php', {
method:'get',
parameters:para,
onComplete:handlerFunc,
onFailure:errFunc
});
alert(save); //////////////////////////////////////////////////////////alert n°2
return save;
}else{
return false;
}
}
Là ou j'ai mis " //////////////////////////////////////////////////////////" c'est pour vous indiquer l'ordre d'apparition des alert()
Le problème c'est qu'il affiche d'abord le alert n°2, à ce moment malheureusement la valeur de save est encore égale à "", du coup le return renvoie pas false et mon formulaire est envoyé... le alert n°1 n'est envoyé qu'aprés...
Je ne comprend donc pas pourquoi il fait le alert n°2 avant le alert n°1, dans l'ordre des appels il devrait le faire dans l'ordre des numéros nan?!

La fonction verifFormSeance() est appelée depuis un formulaire sur un onsubmit.
Ce que je veux que ça fasse c'est qu'avant de valider le formulaire une vérification soit faite (non pas sûr les champs, même si du coup je suis obligé de vérifier qu'ils sont corrects, je vous ai épargné ce code puisqu'il fonctionne (je fais aussi la vérification du côté php)).
Voilà je suis bien coincé du coup... Merci à vous pour vous pencher sur mon problème...
