我正在动态创建一个按钮元素,并在其onclick事件中设置一个函数调用但它总是说removeimg没有定义(removeimg是单击按钮时调用的函数的名称)。她的代码:
链接:
http://shri-ram.lifekloud.com/pilot/step4.php (标签添加删除照片)
function removeimg(){
//make request to remove the name
document.getElementById(name).style.display = 'none';
document.getElementById(btn12).style.display = 'none';
}
function showUploadedItem (source) {
var list = document.getElementById("image-listalbum"),
li = document.createElement("li"),
img = document.createElement("img");
var btn = document.createElement('input');
btn.setAttribute("type", "button");
btn.setAttribute("value", "Remove");
btn.setAttribute("class", "t-button");
var btnId = "btn" + source + "";
btn.setAttribute("id", btnId);
var func = "removeimg()";
btn.setAttribute("onclick", func);
img.src = 'uploads/'+source;
li.appendChild(img);
li.appendChild(btn);
list.appendChild(li);
}
答案 0 :(得分:0)
尝试
btn.onclick = removeimg;
而不是你正在做的字符串版本。
答案 1 :(得分:0)
Javascript中的函数具有范围,因为它们与任何其他Object基本相同。由于您的函数是在$(document).ready();
函数内定义的,因此它只存在于该范围内。您必须在ready()函数之外声明它才能在单击按钮时使用它。