javascript中添加的按钮存在问题

javascript中添加的按钮存在问题,javascript,Javascript,每次我单击id为“button0”的按钮时,下面的代码都会成功地将一个按钮添加到表单中。但是firebug给了我错误 form1 is null [Break On This Error] form1.appendChild(element); 新按钮将不会执行函数“foo()”,尽管它已经 设置为其onclick值。这是密码 var counter = 0; function add(){ counter++; var element = document.createEl

每次我单击id为“button0”的按钮时,下面的代码都会成功地将一个按钮添加到表单中。但是firebug给了我错误

form1 is null
[Break On This Error]   

form1.appendChild(element);
新按钮将不会执行函数“foo()”,尽管它已经 设置为其onclick值。这是密码

var counter = 0;

function add(){
  counter++;
  var element = document.createElement("input");
  element.type = "button";
  element.value = "test";
  element.name = "button"+counter;
  element.id = "button"+ counter;
  element.onclick="foo()";
  var form1 = document.getElementById("form1");
  var body1 = document.getElementById("b1");
  var header = document.getElementById("header");
  form1.appendChild(element);
  header.innerHTML = "Two Buttons";
};

function foo(){
  var butt =   document.getElementById("button1");
  butt.value = "works";
  console.log("works");
};

add();
如果我使用 文件.格式1.附件子项(元素)

有趣的是我每次点击都会得到新的按钮。只是按钮坏了

这是我的html

<body id = "b1">

<script src = "button-in-code.js"></script>
<h1 id = "header">Buttons</h1>
<form id = "form1" name = "form1">
<input type="button" id = "button0" name="sel" value="Select all" onclick="add()">
</form>

<hr>
<address></address>
<!-- hhmts start -->Last modified: Mon Jul  8 10:07:26 EDT 2013 <!-- hhmts end -->
</body> </html>

按钮

最后修改:2013年7月8日星期一10:07:26美国东部夏令时
尝试在html代码之后添加
,使用


因为
add()函数自动执行,javascript代码必须添加在该函数中使用的html元素之后。

您可以添加html吗?由于大多数问题似乎是找不到名为
form1
的元素,因此这可能是一个html问题。在jsfiddle.net或jsbin.com这样的网站上设置此功能也可能有帮助。您必须为
.onclick
,分配一个函数,不是字符串。我希望您在DOM ready上调用此代码。这是我的HTML:Buttons
上次修改:Mon Jul 8 10:07:26 EDT 2013如果我删除onclick定义中函数周围的引号,代码将停止工作:它不会创建新按钮。CoursesWeb的答案修复了add()的执行!谢谢我剩下的唯一问题是,新按钮在单击时不会执行foo()。相关的代码行应该是
element.onclick=foo。请注意,这不是附加事件侦听器的首选方法。我建议使用JS库来简化跨浏览器的事件处理(以及其他问题)。谢谢MasterAM!成功了。