2012-10-15 35 views
4

我想做一個多重上傳,iam使用這個論壇的一些腳本。 腳本是完美的作品,但是當我將它與我的項目合併。 javascript無法獲取我的元素的值。 我發現這個問題是因爲我在頁面許多ID PANEL,我需要改變,以getElementByID('<%="FileUpdate.ClientID%>').value(原:getElementByID("FileUpdate").valueASP.NET如何使用計數器與'<%=

的問題是: 我必須使用計數器,例如:getElementByID('<%="txtFileUpdate' + counter + '%>').value但它失敗。 該錯誤表示「字符文字中的字符過多」指向該行。

請人幫忙,有沒有解決這個問題的方法?

這裏是腳本

----->錯誤 「在字符的字符常量」

<script type="text/javascript" language="javascript"> 

    var counter = 1; 

    function AddFileUpload() { 
     if (counter < 5) { 
      counter++; 
      var div = document.createElement('DIV'); 
      div.innerHTML = '<input id="FileUpload' + counter + '" name = "file' + counter + 
     '" type="file" />' + 
      '<input id="Button' + counter + '" type="button" ' + 
      'value="Remove" onclick = "RemoveFileUpload(this)" />'; 
      document.getElementById("FileUploadContainers").appendChild(div); 
     } 
     else { 
      alert("Cannot attach more than 5 file"); 
     } 
    } 

    function GetFile() { 
     var temp; 
     var error = ""; 
     var stringx = ""; 
     var exCounter = 1 ; 
     for (exCounter; exCounter <= counter; exCounter++) { 
    -----> stringx = document.getElementById('<%=FileUpload'+exCounter+'.ClientID%>').value;  
       if (stringx != "") 
       temp += stringx + "#;"; 
      else 
       error += exCounter + ", ";        
     } 
     if (error != "") { 
      alert("Field " + error + " Still Empty"); 
      return; 
     } 
      document.getElementById('<%=HiddenField1.ClientID%>').value = temp;    
    } 
+0

w帽子是否意味着 - 「我必須使用計數器」?你有一些ListView或Repeater爲你的FileUpload元素。請顯示代碼。 –

+1

這不起作用。原因在於'<%...%>'之間的代碼在服務器上執行,但「exCounter」是在客戶端上執行的JavaScript。這只是對asp.net –

+1

的胡言亂語你將不得不徹底改變你如何做到這一點。您可能會考慮使用jQuery來獲取輸入類型文件的數組,然後使用計數器作爲該數組的索引 –

回答

0

試試這個:

getElementByID('FileUpdate<%=counter%>').value 

getElementByID('<%=txtFileUpdate + counter.ToString()%>').value 
+0

@ Andrew Cooper:仍然錯誤Sir,在當前上下文中不存在名稱'Counter' – ExpertWannaBe

+0

@ Andrew Cooper: 1.名稱'FileUploadContainer'在當前上下文中不存在 2.名稱'Counter'的作用是在當前上下文中不存在 – ExpertWannaBe

+1

您需要發佈一些更多代碼來顯示上下文。 「櫃檯」在哪裏申報? –