2013-06-12 70 views
0

請幫助我。 我的頁面上有一個函數可以被AjaxAsyncFileUpload控件調用。通過javascript在標籤上設置文本

function uploadComplete1(sender, args) { 
    var file1 = new String(args.filename).toLowerCase(); 
    if (file1.indexOf('docx', file1.length - 4) == -1 && file1.indexOf('doc', file1.length - 3) == -1 && file1.indexOf('xlsx', file1.length - 4) == -1 && file1.indexOf('xls', file1.length - 3) == -1) { 
     var elem = document.getElementById("ct100_ContentPlaceHolder1_lblUploadedFile1Minor_Network_Change"); 
    elem.InnerHTML = 'This file is not allowed.'; elem.style.visibility = "visible"; 
     } 
    } 

當這個函數被調用時,我得到一個錯誤:「未處理的異常:無法設置爲null innerHTML屬性」

我上無法找出原因我得到這個錯誤。它需要設置文本的標籤位於頁面上。我甚至通過chrome-pageinspect取得了確切的名字,以確保我有正確的名字。

在腳本添加到頁面的控件後,此腳本通過代碼放在頁面中。

我在這裏做錯了什麼?

+3

它是'innerHTML',而不是'InnerHTML' - JavaScript區分大小寫。另外,除了特定的小生境外,它通常使用'new String()'構造。 –

+1

當你調用這個函數時,你確定ID「ct100_ContentPlaceHolder1_lblUploadedFile1Minor_Network_Change」已經存在嗎?換句話說,是不是該ID無效,或者不是在文檔準備就緒事件之前調用的代碼? – Ricola3D

+0

當我檢查Chrome中的元素時,我看到了頁面上的標籤。所以它確實存在。 – Eric

回答

0

當您設置innerHTML時,檢查您的「elem」不爲null

+0

我該如何檢查?元素在頁面上,完全由ID。它是否在div內很重要? – Eric

+0

@Eric:在函數中添加一個'alert()'或者'console.log()'來顯示函數內部是什麼'elem'。 –

+0

f它是空的,這可能是因爲文檔沒有完全加載,在這種情況下,你可以使用$(document).ready()或window.onload – 2013-06-12 10:23:09