Certo, ma convenzionalmente le funzioni "undo" e "redo" in italiano si traducono come "annulla" e "ripristina". Per questo, se devi integrare qualcosa del genere in un form in cui è già presente una funzione "annulla" (che è invece il reset), creerebbe molto probabilmente confusione, quindi un disagio uguale, se non maggiore, rispetto al dialogbox che ti avvisa preventivamente.Originariamente inviata da Marcolino's
Ottimo articolo, lo condivido pienamente; infatti lo avevo inserito anche nei link utili CSS, e sta proprio nella sezione UI/UX.Originariamente inviata da Marcolino's
Chiaro, considera comunque che in questa piattaforma è disponibile anche la funzionalità auto-save. In sostanza, durante la digitazione del messaggio nell'editor, avviene un salvataggio automatico ogni tot, per prevenire appunto la perdita accidentale del messaggio se si esce dalla pagina e questo non è stato ancora inviato.Originariamente inviata da Marcolino's
A quel punto, quando si rientra nella pagina e l'editor è vuoto, per "ripristinare" il contenuto inserito precedentemente, è possibile cliccare il pulsantino "Restore Auto-Saved Content" che viene mostrato in basso a sinistra nella cornice dell'editor.
Può sicuramente essere una funzionalità essenziale, ma a mio parere è necessario valutare bene in anticipo tutti gli aspetti perché risulti veramente funzionale, a partire dalla terminologia da usare; in caso contrario potrebbe appunto creare più confusione che altro.Originariamente inviata da Marcolino's
Il primo passo, secondo me, è quello di identificare nel modo più appropriato possibile queste funzioni.
Pensandoci bene, il tuo tasto "Annulla" (cioè il reset) è di fatto una funzione "undo", perché appunto "annulla" le modifiche inserite e quindi "torna indietro" per reimpostare lo stato iniziale del form.
Invece la funzionalità che vuoi aggiungere, non è un "undo" ma bensì un "redo", cioè un "ripristina" le precedenti modifiche che avevo annullato.
Per cui i due pulsanti possono chiamarsi "Annulla" (reset) e "Ripristina" (redo). Partirei da questo punto.
Magari può aiutare avare anche una breve descrizione, ad esempio nell'attributo title: "Annulla" ("Azzera tutti i campi"), "Ripristina" ("Ripristina i valori inseriti precedentemente")
La funzione "Annulla" suppongo sia sempre attiva. Vedo però che per il "Ripristina" intendi disabilitare il pulsante fintanto che non venga effettuato un annullamento; è corretto?
La funzione "Ripristina" deve poter ripristinare i campi al solo stato precedente l'annullamento, oppure devi prevedere una cronologia in cui annullare/ripristinare le varie modifiche?
La funzione "Ripristina" è applicata ad un unico form o è previsto che debba funzionare in modo contestuale per molteplici istanze di form?
In caso di molteplici form bisogna prevedere una gestione adeguata dei dati memorizzati relativamente ad ogni form.
Il localStorage può andare bene se la gestione dei dati memorizzati è ristretta al browser utilizzato. Cioè se faccio "annulla" e in un secondo momento rientro nel form da un'altra postazione o usando un altro browser, è chiaro che non avrò comunque possibilità di ripristinare i dati annullati precedentemente. In quel caso la gestione andrebbe fatta usando magari un db di appoggio.
Per una gestione semplice potresti certamente usare localStorage e salvare i dati in formato JSON.
Se ti serve gestire dati relativi a più form, sullo stesso sito, puoi avere differenti oggetti localStorage oppure strutturare il JSON in modo da avere una opportuna convenzione che metta in relazione il corrente form con i propri dati.
Cerca magari di approfondire questi dettagli per capire come si può procedere.