Bonjour,

Ça fait plusieurs heures que je suis sur un problème sans parvenir à le résoudre...

J'ai un formulaire d'inscription pour que les utilisateurs du site puissent créer un compte. Quand le bouton submit est cliqué une fonction js validateForm() est appelée.

Dans cette fonction il y a quelques tests qui fonctionnent, mais j'ai ensuite besoin de vérifier que le nom d'utilisateur est disponible. Pour cela, j'ai créé un fichier PHP avec ce test, que j'appelle avec $.ajax.

Le bout de code problématique :

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
 
    function validateRegistration(){
    // Some tests....
 
    // Check if username is already used
    // Call external php file to get information about the username
    $.ajax({
        url: 'AjaxFunctions/getUsernameAjax.php',
        data: "username=" + $("#username").val(),
        success: function(data){
            // Username already in use
            if(data == "ko"){
                // Stop validateForm()
            }
            // Username not used yet
            else{
                // Continue tests
            }
        }
    });
    // Other tests
    }
Est-il possible de faire en sorte que validateForm() retourne false depuis le $.ajax ?

Est-ce que je pourrais par exemple déclarer une variable javascript avant le code Ajax, et la "setter" depuis Ajax ? Comme ça je pourrais simplement récupérer sa valeur ensuite et faire les actions nécessaires.

Merci d'avance pour votre aide !

Josh