Javascript创建输入问题

时间:2012-01-16 16:37:50

标签: javascript javascript-events

我发现this javascript在线,按下按钮时会添加输入按钮。

我对其进行了更改,以便您无需选择创建的输入类型,而只是自动创建文本框。但它不起作用。我应该改变什么?

function add(type) {

  //Create an input type dynamically.
  var element = document.createElement("input");

  //Assign different attributes to the element.
  element.setAttribute("type", "text");
  element.setAttribute("name", "goal[]");

  var foo = document.getElementById("fooBar");

  //Append the element in page (in span).
  foo.appendChild(element);

}

<INPUT type="button" value="Add" onclick="add(document.forms[0].element.value)"/>

<span id="fooBar">&nbsp;</span>

2 个答案:

答案 0 :(得分:1)

DEMO

你的添加功能是正确的,但我认为这里有一些问题 - document.forms[0].element.value

onclick="add(document.forms[0].element.value)"

尝试将其更改为

onclick="add()"

因为你还没有使用那个类型参数

答案 1 :(得分:0)

某些浏览器不允许在元素上动态设置name属性。

您可以在传递给name的标记中指定createElement()属性来解决此问题:

var element = document.createElement("<input name='goal[]' type='text' />");