首页 > 解决方案 > 为什么我的 JavaScript 不能加载到我的网页上(使用 window.onload)?

问题描述

我正在尝试使用实时预览功能(我在本地服务器上查看网页)在 Adob​​e Dreamweaver 中开发一个 HTML 页面,并且我的 JavaScript 很挑剔。我试图用 JS 数组填充下拉菜单,并且我之前的测试有效,但是现在当我尝试让脚本自动运行时,a)没有任何反应或 b)按钮闪烁,表明它已更新但仍显示为空白。任何帮助,将不胜感激!

    <script>
    function start() {

        var arrOptions = []; //arrOptionsCollection with HTML tags
        var arrOptionsCollection = [0, 1, 2]; //Values for dropdown

        arrOptions.push("<option value='Select From List...'>Select From List...</option>") //Dropdown Default


        //Adds HTML tags to arrOptionsCollections
        for (var i=0, n = arrOptionsCollection.length; i < n; i++) { =
            arrOptions.push("<option value='" + arrOptionsCollection[i] + "'>" + arrOptionsCollection[i] + "</option>");
        }

        //Transfers arrOptions to actual HTML
        document.getElementById("district-select").innerHTML = arrOptions.join();
    }

    document.getElementById("form-select").onload = function() {start()};

</script>

<body onload="start();">
<form id="form-select">
    <select id="district-select">
        <!--Script Inserts Options Here-->
    </select>

</form>

标签: javascripthtmlarraysdreamweaveronload

解决方案


我想知道循环=开始时的作用是什么。for简单地说,它没有任何意义。

所以而不是:

for (var i=0, n = arrOptionsCollection.length; i < n; i++) { =

放:

for (var i=0, n = arrOptionsCollection.length; i < n; i++) {

这是您的代码:

function start() {

        var arrOptions = []; //arrOptionsCollection with HTML tags
        var arrOptionsCollection = [0, 1, 2]; //Values for dropdown

        arrOptions.push("<option value='Select From List...'>Select From List...</option>") //Dropdown Default


        //Adds HTML tags to arrOptionsCollections
        for (var i=0, n = arrOptionsCollection.length; i < n; i++) {
            arrOptions.push("<option value='" + arrOptionsCollection[i] + "'>" + arrOptionsCollection[i] + "</option>");
        }

        //Transfers arrOptions to actual HTML
        document.getElementById("district-select").innerHTML = arrOptions.join();
    }

    document.getElementById("form-select").onload = function() {start()};
<body onload="start();">
<form id="form-select">
    <select id="district-select">
        <!--Script Inserts Options Here-->
    </select>

</form>

这是一个现场演示:https ://codepen.io/marchmello/pen/yLYbYjw?editors=1010


推荐阅读