Salve,
ho un problema tra concorrenza di thread usando jquery e ajax.
Mi spiego: l'utente, tramite delle azioni, aggiorna un valore numerico dato dalla somma di altri valori. Questo aggiornamento è dato da dalla chiamata di una funzione inserita in un file js ed è di questo tipo:
function aggiorna{
// richiama una serie di chiamate ajax che aggiornano il valore:
if( x > 0) funzione1;
if (y > 0) funzione 2;
}
Le funzioni ajax sono state rese sincrone, in questo modo una non parte se l'altra non ha finito. Ora vorrei disabilitare il bottone di submit durante l'aggiornamento oppure che apparisse la classica immagine di attesa.
Ho quindi modificato il codice di sopra in questo modo:
function aggiorna{
$("bottone").disabilited = true;
// richiama una serie di chiamate ajax che aggiornano il valore finale del tipo:
if( x > 0) funzione1;
if (y > 0) funzione 2;
$("bottone").disabilited = false;
}
Codice maccheronico a parte, su firefox funziona tutto come dovrebbe il codice viene eseguito in modo sequenziale ed il bottone viene disabilitato fintanto che tutti i conti sono stati fatti. Mentre su ie, safari e chrome è come se la parte di jquery venisse eseguita prima delle chiamate alle funzioni (o non so come si comportino realmente quei browser) fatto sta che la disattivazione del bottone (o l'apparizione dell'immagine di attesa) avviene talmente veloce che è come se non funzionasse!
Come posso risolvere il problema?