Esercizio. Conferma lato client prima dell’invio di una richiesta lato server

Si supponga di aver una pagina web che debba comandare l’esecuzione di un’operazione lato server, inviando insieme alla richiesta un dato, ad esempio il valore di un id, che viene chiesto in input all’utente tramite una casella di testo. Si vuole che l’utente debba confermare l’operazione, prima che la richiesta possa essere inviata al server.

(Soluzione proposta)

Viene richiesto espressamente  che la conferma venga gestita lato client. Il motivo di questa richiesta è abbastanza ovvio. Il fatto che ciò avvenga lato client piuttosto che lato server, determina sia il vantaggio di una maggiore interattività della pagina, sia di non impegnare inutilmente il server. La gestione della conferma, dunque, dovrà essere realizzata in Javascript, così come proposto dal seguente codice.

Il file “miefunzioni.js” che contiene le funzioni in Javascript che realizzano quanto richiesto è il seguente:

Il codice precedente produce la seguente pagina:

conferma-00

Quando l’utente clicca il bottone “Esegui” l’evento onclick  determina l’esecuzione della funzione Javascript “conferma()” che chiede conferma all’utente tramite una finestra popup di conferma:

conferma-01

Nel caso in cui l’utente clicca il bottone “Annulla“, il form non viene inviato e, quindi, non parte alcuna richiesta verso il server:

conferma-02

Nel caso in cui l’utente clicca il bottone “OK“, invece, il form viene inviato e il server esegue l’elaborazione richiesta:

conferma-03

Si fa notare che la pagina che contiene il form, invia la richiesta a stessa, per cui le istruzioni PHP delle elaborazioni da eseguire sono contenute nella medesima pagina.