Bonjour tout le monde,

je suis en train de développer une application web. Afin de personnaliser un peu le design de l'application, j'ai créé une méthode de confirmation maison. En voici le code (je vous passe tout le code sur la création du contenu de la popup) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
function confirm(title, message, options, validCallback) {
    // generate confirm controls
    [......] 
 
    if (typeof (validCallback) != 'undefined') {
        confirmButton.click(function () { validCallback() });
    }
 
    // display confirm
    [......] 
}
Je souhaiterai utiliser cette fonction de confirmation dans une fonction d'une de mes pages, après un appel ajax :

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
 
function remove(id) {
 
    // Step 1
 
    $.post(
        '......',
        {
            id: id
        },
        function (result) {
 
            // Step 2
 
            confirm(
                "title",
                 "message",
                 {},
                 function (modal) {
                     // Step 3
                 }
            );
        }
   );
}
Quand j'exécute cette fonction pour le première fois (exemple : remove(15)), la valeur de la variable id est :
#step1 : 15
#step2 : 15
#step3 : 15

Quand j'exécute à nouveau la fonction : (exemple : remove(20)), la valeur de la variable id est :
#step1 : 20
#step2 : 20
#step3 : 15

Je ne comprend pas pourquoi dans le cas du second appel, la variable id vaut '15' au niveau de l'étape 3.

Quelqu'un pourrait-il m'en expliquer la raison ?

Merci d'avance