我想进行多个文件上传,使用了来自该论坛的某些脚本。
该脚本完美地工作,但当我将其与我的项目合并时,
JavaScript无法获取我的元素的值。
我发现问题是因为页面上有许多ID PANEL,我需要更改为
问题是: 我必须使用计数器,例如:
请有人帮忙,这个问题有解决方案吗?
以下是脚本
-----> 错误“字符文字中的字符太多”
getElementByID('<%="FileUpdate.ClientID%>').value
(原始语句: getElementByID("FileUpdate").value
)。问题是: 我必须使用计数器,例如:
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;
}
<%...%>
之间的代码在服务器上执行,但“exCounter”是在客户端上执行的JavaScript。这对于asp.net来说只是无意义的废话。 - Erik Funkenbusch