我想做一個多重上傳,iam使用這個論壇的一些腳本。 腳本是完美的作品,但是當我將它與我的項目合併。 javascript無法獲取我的元素的值。 我發現這個問題是因爲我在頁面許多ID PANEL,我需要改變,以getElementByID('<%="FileUpdate.ClientID%>').value
(原:getElementByID("FileUpdate").value
)ASP.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;
}
w帽子是否意味着 - 「我必須使用計數器」?你有一些ListView或Repeater爲你的FileUpload元素。請顯示代碼。 –
這不起作用。原因在於'<%...%>'之間的代碼在服務器上執行,但「exCounter」是在客戶端上執行的JavaScript。這只是對asp.net –
的胡言亂語你將不得不徹底改變你如何做到這一點。您可能會考慮使用jQuery來獲取輸入類型文件的數組,然後使用計數器作爲該數組的索引 –