Dashboard: fornisce feedback degli utenti modificando l'etichetta del pulsante
-
10-07-2019 - |
Domanda
Quello che voglio è fornire feedback degli utenti sullo stato dell'operazione tramite l'etichetta del pulsante. Inizialmente il pulsante dice "salva", una volta cliccato voglio cambiare l'etichetta in "salva ..." inserisci un'altra funzione e quando la funzione ritorna cambia l'etichetta in " salvato " quindi fai una pausa di 2 secondi e imposta nuovamente l'etichetta su " save " valore.
Ecco il codice:
function myClickHandler(event)
{
document.getElementById("button").object.textElement.color = "saving...";
functionx ()
document.getElementById("button").object.textElement.color = "saved";
sleep (5000);
document.getElementById("button").object.textElement.color = "save";
}
Il problema è che per qualche motivo solo l'ultimo document.getElementById (" button "). object.textElement.color = " save " ;;
è effettivamente visibile su tela perché la tela o il pulsante viene visualizzato solo quando esco dalla funzione myClickHandler
.
Qualche suggerimento?
Grazie in anticipo
Soluzione
Qualcosa del genere potrebbe funzionare meglio. Sono abbastanza sicuro che setTimeout non blocchi.
function myClickHandler(event) {
updateLabel("saving...");
setTimeout("performFunctionX()", 250);
}
function performFunctionX() {
functionx;()
updateLabel("saved");
setTimeout("updateLabel('save')", 5000);
}
function updateLabel(labelText) {
document.getElementById("button").object.textElement.color = labelText;
}