Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    27

    Preservare i campi di un form solo per un tempo definito

    Buongiorno, sto utilizzando lo script che segue per preservare il contenuto di alcuni campi di un modulo di contatto anche se la pagina viene riaggiornata. Vorrei, pero`, che i campi venissero resettati automaticamente dopo un certo tempo (es: 5 minuti). E` possibile? Grazie per l'aiuto

    codice:
    <script>
        // Run on page load
        window.onload = function() {
            // If sessionStorage is storing default values (ex. name), exit the function and do not restore data
            if (sessionStorage.getItem('name') == "name") {
                return;
            }
            // If values are not blank, restore them to the fields
            var name = sessionStorage.getItem('name');
            if (name !== null) $('#name').val(name);
            var email = sessionStorage.getItem('email');
            if (email !== null) $('#email').val(email);
            var message= sessionStorage.getItem('message');
            if (message!== null) $('#message').val(message);
        }
        // Before refreshing the page, save the form data to sessionStorage
        window.onbeforeunload = function() {
            sessionStorage.setItem("name", $('#name').val());
            sessionStorage.setItem("email", $('#email').val());
            sessionStorage.setItem("message", $('#message').val());
        }
     </script>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    28,460
    Si imposti un setTimeout che allo scadere dei 5 minuti cancellerà le sessionStorage
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    27
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Si imposti un setTimeout che allo scadere dei 5 minuti cancellerà le sessionStorage
    Bene, grazie, saresti cosi` gentile da mostrarmi anche come nella pratica, per piacere? Non sono un'esperta di javascript. Grazie mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2005
    residenza
    Sardegna
    Messaggi
    308
    setTimeout dovrebbe funzionare se la sessione non viene aggiornata (browser non ricaricato ecc.), tuttavia se si desidera un timer forzato, non importa quale quindi sarà necessario impostare un primo tempo di caricamento come variabile di sessione e controllarlo ogni minuto utilizzando javascript per vedere se il timeout è scaduto e quindi è possibile cancellare le variabili di sessione e gli elementi del modulo.

    Per esempio. (Non testato)


    if isset(sessionStorage.getItem('loadtime')){
    // fai un controllo contro il tempo di sistema
    } else {
    // non è impostato in modo da impostarlo.
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    27
    Mi va benissimo il setTimeout, se mi fate vedere come impostarlo nel codice che ho postato. Grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.