【问题标题】:select.onchange in window.onload (JavaScript)window.onload (JavaScript) 中的 select.onchange
【发布时间】:2020-06-10 10:23:27
【问题描述】:

为什么这段代码不起作用?我尝试在window.onload 代码中为事件select.onchange 添加监听器。

<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>

【问题讨论】:

  • 你能告诉我们更多细节吗?比如你可能会遇到什么错误?据我所知atm,你不应该有问题。在这里运行jsfiddle.net/ympbrvsq,一切似乎都很好。

标签: javascript window.onunload


【解决方案1】:

为了不使用匿名函数,我重写了代码,但由于某种原因,这行得通。感谢 Algef Almocera 发表评论。

<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>

【讨论】:

    猜你喜欢
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    相关资源
    最近更新 更多