Bonjour à tous,

Je développe actuellement une application en JSPs/Servlets et utilise DWR pour une certain nombre de contrôles.

Je souhaite récupérer la valeur de retour d'une fonction DWR et l'affecter à une variable globale JS mais j'ai irrémédiablement undefined quand je fais appel à celle-ci...

Je déclare une variable globale suivi du code de ma fonction callback :
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
        ...
        var test;
 
        function dwrCheckUsername() {        
            var username=document.getElementById("empUserName").value;
 
	    Dwr.checkUsername(username, function(data) { // ici ma fonction DWR qui fonctionne à merveille
	        dwr.util.setValue("empUserName", data);
	        if (username!=data) {
	            test="Login déjà pris";
	        }
                else {
	            test="Login valide";
	        }	  	  
	    }); 
        }
        ...
La portion de code de ma JSP où j'appele la fonction dwrCheckUsername() :
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
        ...
        <script type='text/javascript'>
        var test;
 
        function dwrCheckUsername() {        
            var username=document.getElementById("empUserName").value;
 
	    Dwr.checkUsername(username, function(data) {
	        dwr.util.setValue("empUserName", data);
	        if (username!=data) {
	            test="Login déjà pris";
	        }
	        else {
		    test="Login valide";
	        }	  	  
             });
        } 
 
        function checkForm() { // fonction appelée sur le onsubmit
             dwrCheckUsername();
             alert("Test : " + test); // undefined
        }
        </script>
        ...
Là où le bas blesse ce que ma variable test n'est donc jamais valorisée...

Je voudrais bien comprendre...