我想做一个多重上传,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来获取输入类型文件的数组,然后使用计数器作为该数组的索引 –