ALLORA ho provato come dici tu... ho messo il comando rifFin.close(); alla fine di tutte le esecuzioni della funzione visualizzaRap ( che ti allego, almeno hai una visione totale del codice )
codice:
function visualizzaRap(xml) {
if(!xml) {
var clienti = document.getElementById('cliente').value;
var dataI = document.getElementById('dataI').value;
var dataF = document.getElementById('dataF').value;
var ceck = valid_md_rapportino(dataI,dataF);
if(ceck != "ok") {
alert(ceck);
} else {
var post = "cliente=" + clienti + "&dataI=" + dataI + "&dataF=" + dataF;
ajax_xml_call('rapportino.php?azione=show',post,visualizzaRap)
}
}
else {
//SE SI E' VERIFICATO UN ERRORE
var errore = xml.getElementsByTagName("errore");
if(errore.length != 0) {
var out = "NON e' possibile visualizzare i rapportini perche':\n\n";
var descError = getValue(errore[0],"descrizioneErrore");
out += "-" + descError;
alert(out);
}
var rapportino = xml.getElementsByTagName("rapportino");
var out = "";
out = "
";
out += "<table id='int' border='1' style='border:1px #999999 solid; border-collapse:collapse'>";
out += "<tr align='center' style='font-weight:bold; background-color:#CCCCCC'>";
out += "<td style='width:40px'></td>";
out += "<td style='width:115px'>DATA INTERVENTO</td>";
out += "<td style='width:110px'>DATA CREAZIONE</td>";
out += "<td style='width:135px'>DATA ULT. MODIFICA</td>";
out += "<td style='width:290px'>CLIENTE</td>";
out += "</tr>";
if(rapportino.length == 0) {
out += "<tr><td align='center' style='height:30px;font-weight:bold' colspan='5'>NESSUN RAPPORTINO ESISTENTE PER I CRITERI SELEZIONATI</td></tr>";
}
for(i=0; i<rapportino.length; i++) {
var id = getValue(rapportino[i],"idrap");
var dataIn = getValue(rapportino[i],"dataIn");
var dataCr = getValue(rapportino[i],"dataCr");
var dataMd = getValue(rapportino[i],"dataMd");
var societa = getValue(rapportino[i],"societa");
if(dataMd == "") {
dataMd = "<font style='font-size:8px; font-weight:bold'>NESSUNA MODIFICA</font>";
}
out += "<tr align='center'>";
out += "<td>";
out += "<a href='javascript:void(0);' OnClick='rifFin = apri("rapportino.php?idRap=" + id + "&azione=show_details","INFORAPPORTINO",650,600,1,null);'>";
out += "[img]img/info_rap.gif[/img]";
out += "</a>";
out += "[img]img/delete.gif[/img]";
out += "</td>";
out += " <td>"+ dataIn +"</td>";
out += " <td>"+ dataCr +"</td>";
out += " <td>"+ dataMd +"</td>";
out += " <td>"+ societa +"</td>";
out += "</tr>";
}
out += "</table>";
rifFin.close();
document.getElementById('datiRap').innerHTML = out;
}
}
ma facendo in questo modo il popUp rimane appeso... ovvero non si chiude... devo cliccarci sopra per farlo chiudere.. Questa era la prima soluzione che avevo adottato... ma poi scartata
[ANCHE QUESTA FUNZIONE CON EXPLORER E NON CON FIREFOX e simili]