montre ton code ...
montre ton code ...
Le voilà :
Code jscript : 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
17
18
19
20
21
22
23
24
25 if(document.formdept) { var str = document.formdept.depart.value; var strim=str.replace(/[^a-z]/gi, ''); $.ajax({ type: "POST", url: "validDept.php?id=depart", data: {"term":document.getElementById('depart').value}, success: function(term){ window['trouve']=term; alert(window['trouve']); }}); if(strim=="" || window['trouve']=="false") { alert("Veuillez saisir un nom de DEPARTEMENT valide"); return false; } else if (formdept.checkbtm.checked==false && formdept.checkbts.checked==false && formdept.checkbta.checked==false) { alert("Veuillez cocher une durée"); return false; } else return true; }
heu ...
le reste n'est pas dans le callback ... donc faut pas s'etonner !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 success: function(term){ window['trouve']=term; alert(window['trouve']); }});
Mais je ne peux pas passer tout le reste de mon code dans le callback ??
ben si ...
ou alors appelle une fonction ...
J'ai essayé en déplaçant mon code dans le callback mais sa ne marche pas. Je vais essayer de passer par une fonction
Je n'arrive pas à passer une fonction à l'intérieur de mon success. J'ai essayé cela mais sans résultat :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30 function Valid() { if(document.formdept) { var str = document.formdept.depart.value; var strim=str.replace(/[^a-z]/gi, ''); $.ajax({ type: "POST", url: "validDept.php?id=depart", data: {"term":document.getElementById('depart').value}, success: function(term){ window['trouve']=term; ValidTotal(term,strim); }}); } function ValidTotal(term, strim) { if(strim=="" || window['trouve']=="false") { alert("Veuillez saisir un nom de DEPARTEMENT valide"); return false; } else if (formdept.checkbtm.checked==false && formdept.checkbts.checked==false && formdept.checkbta.checked==false) { alert("Veuillez cocher une durée"); return false; } else return true; } }
tu n'as plus besoin de variable globale ..
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 function Valid() { if(document.formdept) { var str = document.formdept.depart.value; var strim=str.replace(/[^a-z]/gi, ''); $.ajax({ type: "POST", url: "validDept.php?id=depart", data: {"term":document.getElementById('depart').value}, success: function(term){ ValidTotal(term,strim); } }); } function ValidTotal(a, b) { if(b=="" || a =="false") { alert("Veuillez saisir un nom de DEPARTEMENT valide"); return false; } else if (formdept.checkbtm.checked==false && formdept.checkbts.checked==false && formdept.checkbta.checked==false) { alert("Veuillez cocher une durée"); return false; } else return true; } }
J'ai essayé ton code mais cela ne marche pas. Aucune de mes conditions n'est testé![]()
as tu testé les valeurs de a et b dans la fonction ?
J'ai testé dans ValidTotal(a,b):mais rien ne s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part alert(a);alert(b);
New POST: Rien ne s'affiche sous Firefox mais les valeurs s'affiche bien sous IE
commence par mettre de l'ordre dans ton code ...
tu utilises jquery ...
pareil pour tes
Code : Sélectionner tout - Visualiser dans une fenêtre à part data: {"term":$('#depart').val()},
etc
Code : Sélectionner tout - Visualiser dans une fenêtre à part var str = document.formdept.depart.value;
Il faut que je remplace tous les .value par .val() ?
et pour etre coherant tous les documents. par $(...)
Pour mon formulaire formdept, est-ce que ça s'écrit bien comme cela ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if($('#formdept') { var str = $('#formdept.depart').val();
il n'a pas d'id ton input ?
montre le html de l'input ...
Il n'en avait pas. J'ai donc mis formdept comme id de mon formulaire.
depart est l'id de mon input dans mon formulaire formdept
Bonjour,
Vous n'êtes pas obligé de passer par le formulaire si votre input a un id :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $('#depart')
D'accord. Mon code ne passe toujours pas dans ma fonction ValidTotal(a,b)
Code jscript : 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
17
18
19
20
21
22
23
24
25
26
27
28 if($('#formdept')) { var str = $('#depart').val(); var strim=str.replace(/[^a-z]/gi, ''); $.ajax({ type: "POST", url: "Config/PHP/Validator.php?id=depart", data: {"term":$('#depart').val()}, success: function(term){ ValidTotal(term, strim); } }); } function ValidTotal(a, b) { alert(a);alert(b); if(b=="" || a=="false") { alert("Veuillez saisir un nom de DEPARTEMENT valide"); return false; } else if (formdept.checkbtm.checked==false && formdept.checkbts.checked==false && formdept.checkbta.checked==false) { alert("Veuillez cocher une durée"); return false; } else return true; }
La fonction de rappel liée à success est appelée automatiquement par jQuery et ce n'est pas toi qui définit les paramètres qui lui sont passés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part success: function(term, strim){...}
Donc dans ton code, tu réaffectes la variable strim avec une valeur qui n'est pas celle que tu crois.
fonctionnera mieux !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 success: function(term){ ValidTotal(term); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager