以下代碼每次單擊一個ID爲「button0」的按鈕時都會成功向表單中添加一個按鈕。但是螢火蟲給我的錯誤在javascript中添加按鈕的問題
form1 is null
[Break On This Error]
form1.appendChild(element);
而且新的按鈕將不會盡管它已經 設置爲它的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();
我也得到一個錯誤的螢火(未定義)如果我使用 document.form1.appendChild(元);
有趣的是我每次點擊都會得到新的按鈕。只是按鈕不起作用。
這裏是我的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>
你可以添加你的HTML嗎?由於大部分問題似乎是找不到名爲'form1'的元素,這可能是一個html問題。它也可能有助於在諸如jsfiddle.net或jsbin.com的站點上設置此名稱 –
您必須將函數分配給'.onclick',而不是字符串。 –
我希望你在DOM上調用這個代碼。 –