2014-09-26 49 views
1

我一直在编写一个函数,允许用户使用JavaScript将图像从本地文件系统上传到网站。我已经成功地将图像上传到浏览器。意外的数字错误

我也写了一个函数,允许用户删除这些图像。

var count = 0; 
function getPhoto(){ 

    var file = document.getElementById('ad_photo'); 
    var list = document.getElementById('ad_photo_upload'); 
    var fReader = new FileReader(); 
    var photo_list = []; 
    var counter; 

    fReader.readAsDataURL(file.files[0]); 
    fReader.onloadend = function(event){ 

     counter = count.toString(); 

     list.innerHTML += "<li id = 'pic " + counter + "'><img src='" + event.target.result + "'></img><a class = 'close' onclick = 'rem_pic(pic " + counter + ")'>X</a></li>"; 
     photo_list[count] = event.target.result; 
     count++; 

    } 



} 

function rem_pic(theID){ 

    var element = document.getElementById(theID); 
    element.outerHTML = ""; 
    delete element; 

} 

我的问题是,每当我称之为“rem_pic(theID)”功能,我得到的是说“未捕获的SyntaxError:意外号” Chrome浏览器的错误信息。有没有人有任何线索,为什么这可能是?我怎么可能改进我写的功能,使它们正常工作?

感谢

+0

Chrome是否表示在它遇到这种意外号线? – 2014-09-26 16:22:29

+0

@DavidThomas它告诉我它在“”元素没有太大的帮助。 – user3723666 2014-09-26 16:25:08

回答

5

这是因为你传递一个号码给你的函数:

'rem_pic(pic " + counter + ")' 

将呈现给

'rem_pic(pic 1)' 
      ^or any other number according to your counter value 

这是错误的,因为JavaScript的PARAMS不能包含空格。

所以,你可能需要传递一个字符串:

rem_pic(\"pic " + counter + "\") 

你的代码看好像你使用它作为HTML id属性。 id属性不能包含空格字符也使你的代码应该像

rem_pic(\"pic" + counter + "\") 

如果您在布局id具有格式id="pic1"id="pic2"

+0

谢谢你,它现在工作得很好。 – user3723666 2014-09-26 16:29:56