[javascript] probl�me xml_http_request
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:
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:
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 !!!