Dans un formulaire ASP.Net, j'ai un fonction JavaScript qui permet de demander une confirmation de suppression que voici:
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
33
34
function confirmAnnuler(mode, txt) {
    var msg = "Etes-vous sûr de vouloir ";
 
    switch (mode) {
        case "modif":
            msg += txt;
            break;
 
        case "ajout":
            msg += txt;
            break;
 
        case "suppr":
            msg += txt;
            break;
    }
 
    var hfConfirm = document.createElement("INPUT");
    hfConfirm.type = "hidden";
    hfConfirm.name = "hfConfirm";
 
    if (confirm(msg)) {
        hfConfirm.value = "true";
        document.forms[0].appendChild(hfConfirm);
 
        return true;
    }
    else {
        hfConfirm.value = "false";
        document.forms[0].appendChild(hfConfirm);
 
        return false;
    }
}
Ca fonctionne bien sauf lorsque cette fonction est appelée plusieurs fois. Si par exemple, une fois j'annule la suppression d'une donnée puis la fois suivante je confirme, au lieu de me remplacer la valeur de mon input, le code me la concatène avec l'ancienne valeur. Je me retrouve du coup avec une valeur de "false, true" ce qui pose énormément de problème. Pour information, la page n'est pas reconstruite à chaque fois, le formulaire se trouve dans UpdatePanel. J'ai tenté de supprimer le input en jQuery avant la création d'un nouveau:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
try {
    $("#ctl00_contenu_hfConfirm").remove();
}
catch (e) {
    message = e.Message;
}
Mais le résultat est identique, pareil si je force le contenu à vide avant de mettre la bonne valeur. Quelqu'un peut me dire comment résoudre ce problème s'il vous plait ?