Bonjour à tous,
Voilà mon soucis,

je fais une boucle qui appelle, disons 3 fois, une fonction javascript qui lance par requete xml_http_request un script perl.

Le script perl fait un retourne une expression javascript qui est éxécuté par la fonction eval.

Voici le code ci dessous:

Les deux fonctions javascript:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
function DeleteErrorReport(id)
{
    var TabErrorReport=new Array();
//Récupération du toutes les checkbox cliquée
    for(i=0;i<document.FormError.CheckError.length;i++)
    {
          if(document.FormError.CheckError[i].checked)
          {
              TabErrorReport.push(document.FormError.CheckError[i].value);
          }
    } 
 
// Création du popup   
    var PopColor='#9FC1FF';
    var TextColor='#ffffff';
 
    oPopup   = window.createPopup();   
    oPopBody = oPopup.document.body;   
 
    // Mise en forme   
    oPopBody.style.backgroundColor = PopColor;   
    oPopBody.style.border          = "solid darkblue 1px";   
    oPopBody.style.margin          = "0px";   
    oPopBody.style.color           = TextColor;   
    oPopBody.style.fontSize        = "12px";   
    oPopBody.style.textAlign       = "center";   
    oPopBody.innerHTML             = "Deleting error report";   
 
    // Affichage du popup   
 
    oPopup.show(50,10,600,100,event.srcElement);   
 
//On lance la suppression de tous les errors report à supprimer
    for (var i=0;i<TabErrorReport.length;i++)
    {
          DeleteErrorReportXML(id,TabErrorReport[i]);
    }
}
 
function DeleteErrorReportXML(id,PathErrorReport)
{
 
 
       if (window.ActiveXObject){xhr_object=new ActiveXObject("Microsoft.XMLHTTP");}
       else{alert("your browser doesn't allow ActiveX Object");return;}
       var data="CGISESSID="+id+"&PATH="+PathErrorReport+"";
       var filename="./Perl_delete_error_report_xml.pl";
       xhr_object.open("POST",filename,true);
       xhr_object.onreadystatechange = function() {   
                                                        if(xhr_object.readyState == 4) 
                                                        {   
                                                        var xmlres = xhr_object.responseText;   
 
                                                              switch(xmlres)
                                                              {
                                                                    case 'false':{alert('Error while deleting !!');};break;
                                                                    default:{eval(xmlres);};break;
                                                              }
                                                        }
                                                  }     
      xhr_object.send(data);
}

Le script perl:
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
 
#!c:\perl\bin\perl.exe
use CGI;
use TX2::Web::Session;
use TX2::pass;
 
 
$cgi=new CGI;
#Variables de sessions
$session=&TX2::Web::Session::Verify($cgi->param("CGISESSID"));
$id=$session->id();
$Compte=$session->param('Compte');
####################
#Récupération des variables QueryString et variables de sessions
####################
 
my $Path=$cgi->param('PATH');
$Path=~s/\\\\/\\/g;
 
if(@{$Compte}[0] eq &TX2::pass::admin())
{
      opendir(REP,$Path) or die "Erreur ouverture $Path\n$!\n";
      my @files=grep{$_ ne '.' && $_ ne '..'} readdir REP;
      closedir(REP);
      print "content-type:text/html\n\n";
      print "oPopBody.innerHTML= \"suppression $Path\";";
      sleep(3);
}
else
{
      print "content-type:text/html\n\n";
      print "Access denied !!\n";
}
Mon problème, c'est que dans la popup Opopup, je ne vois afficher que le texte de suppression du dernier élément.


Comment règler ce problème ?? Qu'est ce que je fais de mal ???

Merci pour vos réponses !!!