PDA

View Full Version : [STRUTS] Pagina di attesa


spillo491
31-12-2007, 09:53
Ciao,

come posso evitare che l'utente clicchi per la seconda volta su un bottone durante la fase di caricamento di una pagina ?
Cerco di spiegarmi meglio : l'utente x clicca su invio , il sistema elabora la richiesta impiegandoci 10 secondi; in questo lasso di tempo l'utente può credere di non aver premuto correttamente l'invio e lo clicca per la seconda volta causando un errore.
Come posso evitare questa cosa in una web application (uso struts) ?
Dovrei fare apparire una clessidra o un messaggio di attesa, ma come ?

Ha un nome particolare questa fase di attesa in cui si blocca il controllo all'utente in modo da poter cercare qualcosa anche in rete ?

Grazie

isAlreadyInUse
31-12-2007, 09:55
Disabilita il pulsante

spillo491
31-12-2007, 11:26
Ma è il bottone di submit ..... se metto un onclick="invio()"; "diasablebutton()";

con

function disablebutton() {

if ( document.forms[0].bottoneFirma.checked == true ) {
document.forms[0].bottoneFirma.disabled = true
}

il bottone non funziona piu !
Ho provato a chiamare questa funzione anche dopo il

document.forms[0].submit();

ma niente !

isAlreadyInUse
31-12-2007, 11:43
Prova cosi


function submitForm(){
document.getElementById('idBottone').disabled=true;
return true;
}
<form ... in submit="return submitForm();">

dupa
31-12-2007, 12:51
su struts2 c'è un interceptor che fa quello, non so se esiste anche in struts1.
cmq senza farla troppo complicata, usando javascript, ajax o simili, puoi risolvere il problema lato client.