2014-09-26 46 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