0

Why this code does not work? I tried to add a listener to event select.onchange in window.onload code.

<script type="text/javascript" LANGUAGE="javascript">
    console.log("js working");
    window.onload = function(){
        console.log("window.onload working");
        select = document.getElementsByName("dbname")[0];
        console.log(select);
        select.onchange = function() {
            console.log("select.onchange working");
            console.log(select.value);
            var date = new Date();
            date.setTime(date.getTime() + (3*24*60*60*1000)); //3 days
            console.log(date);
            var expires = "; expires = " + date.toGMTString();
            console.log(expires);
            document.cookie = "dbselectedparam="+select.value+expires + "; path = /";
            console.log(document.cookie);
        }
    }
</script>
sibabrat swain
  • 1,277
  • 8
  • 20
JackHuman
  • 27
  • 5
  • Can you give us more details? Like what error you could be encountering? As far as I can see atm, you shouldn't be having issues. Ran it here https://jsfiddle.net/ympbrvsq/ and all seems fine. – Algef Almocera Jun 10 '20 at 10:28

1 Answers1

0

I rewrote the code so as not to use an anonymous function, and for some reason this worked. Thanks Algef Almocera for comment.

<script type="text/javascript" LANGUAGE="javascript">
    console.log("js working");
    function myFunction(){
        console.log("select.onchange working");
        select = document.getElementsByName("dbname")[0];
        console.log(select);
        console.log(select.value);
        var date = new Date();
        date.setTime(date.getTime()+(3*24*60*60*1000)); //3 days
        console.log(date);
        var expires = "; expires="+date.toGMTString();
        console.log(expires);
        document.cookie = "dbselectedparam="+select.value+expires+"; path=/";
        console.log(document.cookie);
    }
    window.onload = function(){
        console.log("window.onload working");
        select = document.getElementsByName("dbname")[0];
        console.log(select);
        console.log(select.value);
        select.onchange = myFunction;
    }
</script>
JackHuman
  • 27
  • 5