Autosave input box's to database during pause in typing? Autosave input box's to database during pause in typing? jquery jquery

Autosave input box's to database during pause in typing?


Debounce the textarea change.

Demo: jsFiddle

Put your ajax call in the saveToDB() function. These event names('input propertychange change') will trigger on any form element change such as radio buttons, inputs, etc.

var timeoutId;$('#the-textarea').on('input propertychange change', function() {    console.log('Textarea Change');    clearTimeout(timeoutId);    timeoutId = setTimeout(function() {        // Runs 1 second (1000 ms) after the last change            saveToDB();    }, 1000);});function saveToDB(){    console.log('Saving to the db');    }

Here is a full demo showing you how to debounce a full form and use ajax to send the data and then return the status (Saving, Saved, etc).

Demo full form and ajax: jsFiddle


I know that this question is old, but I would like to include a code that I like the most. I found it here:http://codetunnel.io/how-to-implement-autosave-in-your-web-app/

Here is the code:

var $status = $('#status'),    $commentBox = $('#commentBox'),    timeoutId;$commentBox.keypress(function () {    $status.attr('class', 'pending').text('changes pending');    // If a timer was already started, clear it.    if (timeoutId) clearTimeout(timeoutId);    // Set timer that will save comment when it fires.    timeoutId = setTimeout(function () {        // Make ajax call to save data.        $status.attr('class', 'saved').text('changes saved');    }, 750);});

It saves after the user stops writing for more than 750 milliseconds.

It also has a status letting the user know that the changes have been saved or not.


Try Sisyphus.js https://github.com/simsalabim/sisyphus. It persists the form data in the browser's local storage and is robust against tabs closing, browser crashes, etc...