I have a TIMER (JSFiddle), that takes a date and time and then counts the hours from the starting date / time the current date / time.
In my fiddle it just counts away from January 01, 2020 14:00:00, but on my website the user is able to change this date. – When he enters invalid information the timer outputs NaN.
When the users enters information, the timer is run again and the user get a new output. – When this happens, I would like to check, if the output is NaN, if so, I would like for another function to ben run, let's call it: timerError() – With this I will reset the timer and tell the user, that his input was invalid.
I know about isNaN(variable), but I don't really have a variable here, so don't know how to check, if the timer output is NaN…
This is my JS:
                // TIMER Styling START
                function styleChars(targetEl) {
                    const val = targetEl.textContent;
                    const chars = val.split('');
                    targetEl.innerHTML = chars.map(c => `<span class="digit">${c}</span>`).join('');
                }
                
                const target = document.querySelector('.value_timer');
                console.log(target);
                styleChars(target);
                // TIMER Styling END
                
                // TIMER START
                var timerDate = "January 01, 2020 14:00:00";
                
                    function setTimer() {
                        // Month Day, Year Hour:Minute:Second, id-of-element-container.
                        countUpFromTime(timerDate, 'countup1');
                    };
                    
                    window.onload = setTimer();
                    
                    function countUpFromTime(countFrom, id) {
                        let countDate = new Date(countFrom);
                        let now = new Date();
                        let timeDifference = (now.getTime() - countDate.getTime());
                        let value_timer = Math.floor(timeDifference / 1000 / 60 / 60);
                        let idEl = document.getElementById(id);
                        idEl.innerHTML = value_timer;
                        styleChars(idEl); // Pass element to styling function.
                        clearTimeout(countUpFromTime.interval);
                        countUpFromTime.interval = setTimeout(function () {
                            countUpFromTime(countFrom, id);
                        }, 1000);
                    }
            
                // TIMER END
 
    