getElementById不起作用

时间:2017-09-29 10:42:55

标签: javascript

我是这个网站的新手,我正在学习如何编码。我的程序没有写任何东西或创建输入,有人可以帮助我并发现错误吗?

<html>
<head><title>array exchange</title></head>
<body>
    <form id="ne" >
    number of array elements: <input type="number" name="el_array" ><br>
        <input type="submit" value="execute" onsubmit="create()">
    </form>
</body>
<script>
    function create(){
    var numel = document.getElementById("ne");

    var x = document.createElement("INPUT");
    x.setAttribute("type", "number");

    }
</script>
</html>

4 个答案:

答案 0 :(得分:2)

你需要追加孩子,然后它会反映在DOM

numel.appendChild(x)

同时使用type="button"代替type="submit"onclick事件处理程序

<input type="button" value="execute" onclick="create()">

&#13;
&#13;
function create() {
  var numel = document.getElementById("ne");

  var x = document.createElement("INPUT");
  x.setAttribute("type", "number");
  numel.appendChild(x);
}
&#13;
<form id="ne">
  number of array elements: <input type="number" name="el_array"><br>
  <input type="button" value="execute" onclick="create()">
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以阅读有关表单标记的用法以便更好地理解:

  1. https://www.w3schools.com/TAgs/tag_form.asp
  2. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form

答案 2 :(得分:1)

建议从MDN开始阅读。我的意见MDN Javascript的最佳文档:

https://developer.mozilla.org/bm/docs/Web/JavaScript/Guide/Introduction

答案 3 :(得分:1)

var input = document.createElement("input");
input.type = "submit";
document.body.appendChild(input);
input.addEventListener("click",function createEl(){
    var numel = document.getElementById("ne");

    var x = document.createElement("INPUT");
    x.setAttribute("type", "number");
numel.appendChild(x);
    });
<form id="ne" >
    number of array elements: <input type="number" name="el_array" >
  <br>
    </form>