Search code examples
javascriptdefault-value

How to set a default value based on user's previous value


I want to have a default value based on what the user put before. For example, if in an input I put '5' I want to see that the value of that input is 5 when I refresh the page, but if I put 6 I want the default value to be 6. Thanks (i'm a begginer)


Solution

  • Use local storage:

    localStorage = window.localStorage;
    localStorage.setItem('inputDefault', '5');
    
    let inputDefault = localStorage.getItem('inputDefault');
    

    Here's a more practical example I quickly whipped up:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Local Storage Example</title>
    
        <script type="text/javascript">
            function setLocalStorageValue()
            {
                let myNumberInputField = document.getElementById('myNumberInput');
                let myNewValue = myNumberInputField.value;
    
                let localStorage = window.localStorage;
                localStorage.setItem('defaultValue', myNewValue);
            }
    
            function getLocalStoredValue()
            {
                let localStorage = window.localStorage;
                let defaultValue = localStorage.getItem('defaultValue');
    
                let myNumberInputField = document.getElementById('myNumberInput');
                myNumberInputField.value = defaultValue;
            }
        </script>
    </head>
    <body onload="getLocalStoredValue()">
    <label>My Number Input
        <input type="number" id="myNumberInput" value="0" onchange="setLocalStorageValue()">
    </label>
    </body>
    </html>
    

    Does this answer your question? Note how I am writing back to local storage on the onchange event of the input in question, and I read from local storage when the body of the html loads.