我对网络编程是全新的,从未接触过它的基本水平,并且已经开始使用 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/