Javascript将输入附加到表单

Javascript将输入附加到表单,javascript,forms,input,onkeypress,Javascript,Forms,Input,Onkeypress,我有这个剧本: var countBox = 0; function addInput() { var breakNode = document.createElement("br"); var input = document.createElement("input"); input.type = "text"; input.name = "input_" + countBox.toString(); input.placeholder = "Notes"; input.onkeydow

我有这个剧本:

var countBox = 0;

function addInput() {
var breakNode = document.createElement("br");

var input = document.createElement("input");
input.type = "text";
input.name = "input_" + countBox.toString();
input.placeholder = "Notes";
input.onkeydown = "tab()";

var container = document.getElementById('container');
container.appendChild(breakNode);
container.appendChild(input);

countBox += 1;
}
它应该会回来

<input type="text" name="input_0" placeholder="Notes" onkeydown="tab()">

但它只会回来

<input type="text" name="input_0" placeholder="Notes">


但是input.onkeydown不起作用。有没有办法最好用Javascript创建第一个元素,这样当用户按enter键时,我就可以动态创建一个新字段???

您想要的是
input.onkeydown=tab

这里有一个例子可以说明这一点


在Javascript、Python和许多其他脚本语言中,函数可以作为参数或参数传递。这里,我们将函数
tab()
作为
onkeydown
属性的值传递。

事件需要一个函数,而不是字符串。elclanrs所说的+由属性设置的事件处理程序不会反映到属性。@elclanrs该函数旨在创建一个具有type=“text”name属性的输入元素=“input_0”palceholder=“Notes”onkeydown=“tab()“但是当我告诉它添加onkeydown属性时,它不会注册,那么我如何添加它呢?当你通过javascript向元素添加一个监听器时,结果html不会改变-是否使用过jquery?你会看到的。下面似乎有一个正确的答案:)。不幸的是,当我运行该脚本时,整个输入都消失了。不要从Fiddle复制整个内容,只复制代码行,
input.onkeydown=tab。我需要完整的代码来说明它是如何工作的。问题是如果tab的函数尚未创建,那么函数将失败,元素未创建。很抱歉,我假设您已经创建了该函数。您需要先创建它,然后才能声明输入。@Jdoonan如果我的答案对您有帮助,请将其标记为正确答案。这有助于我们在StackOverflow上的声誉,并改善社区。