单击按钮时未定义javascript函数

时间:2013-12-10 17:39:23

标签: javascript function

我正在动态创建一个按钮元素,并在其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);
    }   

2 个答案:

答案 0 :(得分:0)

尝试

btn.onclick = removeimg;

而不是你正在做的字符串版本。

答案 1 :(得分:0)

Javascript中的函数具有范围,因为它们与任何其他Object基本相同。由于您的函数是在$(document).ready();函数内定义的,因此它只存在于该范围内。您必须在ready()函数之外声明它才能在单击按钮时使用它。