Loading di attesa

Vera

Utente Attivo
3 Giu 2014
76
1
8
Buongiorno

ho uno scipt in javascript della serie (in sintesi per la mia problematica):

Codice:
$('#dialog').html(msg);
            $('#dialog').dialog(
            {
                modal: true,
                title: title_path,
                width:  auto,
                height: auto,
                buttons: 
                {
                    'scrivi Excel' : function()
                    {
                           location.href = "folder02/excel.php?a0="+a0;
                    },
                    "Esci": function() 
                    {
                        $(this).dialog("close");   
                    }
                }

l'istruzione location.href chiama un php che mi estrapola dei dati dal mio database e mi scrive un file excel. Fin qui tutto bene. Il problema é che vorrei poter inserire, quando vado a pigiare il tasto "Scrivi Excel", la classica rotellina di attesa fin quando non viene scritto definitivamente il file excel. O rotellina o qualsiasi altra immagine che mi mette in attesa, cioé non mi consente di fare altro.

Chi mi da una mano?
Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, puoi provare a scrivere queste istruzioni nella pagina excel.php
HTML:
<script>
document.write("<p id='attesa'>Attendere o gif animata</p>");
window.onload = function() {
   document.getElementById("attesa").style.display = "hidden";
}
</script>
Ho scritto direttamente qui nel box, potrebbero esserci errori di sintassi, prova.
 

Vera

Utente Attivo
3 Giu 2014
76
1
8
Ho provato a mettere il tuo suggerimento in più punto del mio php ma con esito negativo.
Neanche il semplice alert('pippo'); funaziona. Alert che ho messo all'inizio del tuo script:

Codice:
<script>
alert('pippo');
document.write("<p id='attesa'>Attendere o gif animata</p>");
window.onload = function() {
   document.getElementById("attesa").style.display = "hidden";
}
</script>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
mmm , molto strano, hai un esempio online o uno completo da postare per provarlo ?
 

Vera

Utente Attivo
3 Giu 2014
76
1
8
Ricapitolando:

questo é lo script che chiama il php

Codice:
$('#dialog').html(msg);
            $('#dialog').dialog(
            {
                modal: true,
                title: title_path,
                width:  auto,
                height: auto,
                buttons: 
                {
                    'scrivi Excel' : function()
                    {
                           location.href = "folder02/excel.php?a0="+a0;
                    },
                    "Esci": function() 
                    {
                        $(this).dialog("close");   
                    }
                }


il relativo php (excel.php) dove al suo interno chiamo la funzione per la lettura dei record dal database...

PHP:
$code = $_GET['a0'];

$filename = "mioExcel.xls";
header ("Content-Type: application/vnd.ms-excel");
header ("Content-Disposition: inline; filename=$filename");

// Funzione di lettura del database
include('libphp/preparaDati.php');

// Tabella di costruzione del mio Excel (in sintesi....)
<div> 
<table border='1' ........

// Connessione per il database e chiamata alla funzione di caricamento dei dati letti dal db

$start = db2_connect(............);
 
$array01= preparaDati($start, $code);
  
     // Ciclo for lettura array di ritorno
     for($j = 0; $j<count($array01); $j++)

etc... etc... etc....

funziona tutto ma non so dove intervenire per poter integrare il codice con il Loading di attesa fin quando non é scritto completamente l'excel

Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Puoi modificare la funzione scrivi excel in questo modo
Codice:
scrivi Excel': function ()
    {
         $('#dialog').append("<p>Attendi caricamento in corso</p>");
         location.href = "folder02/excel.php?a0="+a0;
    },
e se vuoi al posto della scritta puoi inserire una gif animata
 

Vera

Utente Attivo
3 Giu 2014
76
1
8
OK,

cosi mi parte l'attesa:

Codice:
{
         $('#dialog').append("<p>Attendi caricamento in corso</p>");
         location.href = "folder02/excel.php?a0="+a0;
},


o meglio (con una gif animata ad esempio una rotellina che gira)


Codice:
{
         $('#dialog').append(StartLoading()); 
         location.href = "folder02/excel.php?a0="+a0;
},


ma, ti chiedo, come fermo la stessa gif animata quando é finito il caricamento del file excel. O meglio dove scrivo questa nuova ricga di codice che ferma la mia gif animata?

$('#dialog').append(StopLoading());


grazie
per il tuo aiuto.

Vera
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non credo sia possibile intercettare il completamento della pagina php dal browser.
Potresti provare intercettando la perdita del focus della pagina chiamante.
Codice:
 window.onblur = function() {
        StopLoading()
    }
devi però verificare che la funzione non faccia casino se perdi il focus per qualche altro motivo
 

Vera

Utente Attivo
3 Giu 2014
76
1
8
Si,
ho provato ad inserire il codice dopo le due istruzioni

Codice:
$('#dialog').append("<p>Attendi caricamento in corso</p>");
         location.href = "folder02/excel.php?a0="+a0;

....  window.onblur = function() {
        StopLoading()
    }

sembra andare bene.

Grazie per il tuo aiuto.

Vera
 
Discussioni simili
Autore Titolo Forum Risposte Data
Blacksubmarine [HTML] Loading per blogger HTML e CSS 0
C [HTML] Modal Dialog + Loading Animation + Resize Modal Dialog HTML e CSS 3
J Loading della pagina con js Javascript 3
felino [Ajax/Jquery] Z-index su loading-image Ajax 1
emanuelevt Live che contiene post come faccio a fare vedere loading? Ajax 5
M Immagine di loading prima del caricamento di una pagina php. PHP 0
ari.getti page loading time PHP 2
cerbero loading Flash 3
S Loading... HTML e CSS 1
S Loading... Flash 3
F loading pagina web HTML e CSS 2
shelbystudio cliente moroso: posso disattivare email e sito in attesa del pagamento? Leggi, Normative e Fisco 3
ecosito [WORDPRESS] Lentezza (in attesa di risposta da www.......) WordPress 18
G Attesa caricamento pagina PHP 0
P Problema: visualizzare a schermo una nuova pagina durante l'attesa di caricamento PHP 1
T Tempo d'attesa per vedere la propria app pubblicata su Google Play Sviluppo app per Android 2
L Attesa mentre carica pagina Javascript 16
A Contatore per code di clienti in attesa Flash 0
T visualizzare pagina di attesa... Javascript 1
T Grande attesa redirect! Supporto Mr.Webmaster 1
G redirect....è normale tutta 'st'attesa??? Supporto Mr.Webmaster 8
S Pagina di attesa durante l'UPLOAD Classic ASP 2
B Attesa Di Approvazione Supporto Mr.Webmaster 0

Discussioni simili