Bonjour,

Je souhaiterai mettre en place de la sauvegarde automatique des données.
Dans un tableau, chaque case est un input, dès que je quitte la case, le contenu est sauvagerdé en Ajax.

Comment puis-je faire cela ?

J'ai déjà fais de l'Ajax mais jamais comme ça.

Merci de votre aide !

2 réponses


Nicolas Groelly
Auteur
Réponse acceptée

Hello !

Finalement j'ai utilisé ça comme code :

Pour le HTML :

<form onsubmit="event.preventDefault();">
            <input type="number" min="0" name="test" id="2017-02-02" onChange="JavaScript:autosave('2017-02-02');" />
</form>

Pour le JS :

<script type="text/javascript">
    function getXMLHttpRequest() {
        xhr = null;
        if (window.XMLHttpRequest || window.ActiveXObject) {
            if (window.ActiveXObject) {
                try {
                    xhr = new ActiveXObject("Msxml2.XMLHTTP");
                } catch(e) {
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                }
            } else {
                xhr = new XMLHttpRequest(); 
            }
        } else {
            alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest, merci d'appeler le Helpdesk ...");
            return null;
        }
        return xhr;
    }
    function autosave(param) {
        element = document.getElementById(param).value;
        xhr = getXMLHttpRequest();

        xhr.open("POST", "script.php", true);
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xhr.send("&param=" + param + "&time=" + element);
    };
</script>

Salut,

Une piste : cherche du coté de .blur() en jQuery.