javascript - 页面刷新,javascript未运行

标签 javascript html

我对网络编程是全新的,从未接触过它的基本水平,并且已经开始使用 HTML5 Canvas 进行一个小型图形项目。在开始构建 reallu 基本页面时,我遇到了一些非常简单的 HTML/JS 内容,但我一生都无法弄清楚出了什么问题。由于某种原因它不会运行。

我最初将 JS 托管在外部文件中,但位于同一目录中,例如

<script src="numValues.js"></script>

这是正确的还是最佳实践?

我的标记/JS

<!DOCTYPE html>
<html lang="eng">
    <head>
        <META charset="UTF-8"/>
        <title>EZgraph | Pie Chart</title>
        <script type="text/javascript">
 function addFields()
 {
    var numValues = document.getElementById("numValues").value;

    var container = document.getElementById("container");

    while(container.HasChildNodes())
    {
        container.removeChild(container.lastChild);
    }

    for (i=0; i < numValues; i++)
    {
        container.appendChild(document.createTextNode("value " + (i+1)));
        var input = document.createElement("input");
                input.type = "number";
                input.name = "Value" + i;
                container.appendChild(input);
                container.appendChild(document.createElement("br"));
    }
 }
        </script>
    </head>
    <body>
        <div id="inputCountText"></div>
        <form method="post" onsubmit="return addFields()">
            <input type="number" id="numValues" required>
            <input type="submit" value="submit">
        </form>
        <div id="container"></div>
    </body>
</html>

有没有什么好的 IDE/设置可以在 Mac 上进行此类工作?我目前正在使用 SublimeText。

最佳答案

请参阅我对您自己的答案的评论。 另外,您应该始终检查是否获得了所需的内容:

 function addFields()
 {
    var returnValue = false;
    var numValues = document.getElementById("numValues").value;
    if (numValues.length != 0)
    {
        var container = document.getElementById("container");
        if (container.length != 0)
        {

            while (container.hasChildNodes())
            {
                container.removeChild(container.lastChild);
            }

            for (i = 0; i < numValues; i++)
            {
                container.appendChild(document.createTextNode("value " + (i+1)));
                var input = document.createElement("input");
                if (input.length > 0)
                {
                    input.type = "number";
                    input.name = "Value" + i;
                    container.appendChild(input);
                    container.appendChild(document.createElement("br"));
                    returnValue = true;
                }
            }
        }
    }
    return returnValue;
 }

关于javascript - 页面刷新,javascript未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233956/

相关文章:

javascript - AngularJS Promise 的变量范围问题

javascript - 如何在需要显示的表格隐藏行上制作幻灯片动画?

Javascript 更改 div 的大小(如果为空或不为空)

javascript - 使用 Modernizr 使用 window.location.origin

javascript - Flask:为什么定义变量时ajax数据的内容会改变?

html - 在其上键入内容时 Div 位置发生变化

javascript - 如何使用 jquery 组合框,以便有一个输入框并选择下拉列表附加到它

javascript - Handlebars 模板中的 js 事件

javascript - 如何使用Javascript函数修改onKeyDown事件

html - 网站内容采用移动格式的菜单方式