I want to get filenames and put it in label lbName
but this code is not working. I used asp:FileUpload
. This is my code:
<asp:FileUpload ID="FileUpload1" AllowMultiple="true" runat="server" Onchange="upload()"/> <asp:Label ID="lbName" runat="server" ForeColor="Gray" Visible="True"></asp:Label>
and JS code:
JavaScript
x
10
10
1
function upload() {
2
var name = "";
3
4
var files = document.getElementById("<%= FileUpload1.ClientID %>");
5
for (var i = 0; i < files.length; i++) {
6
name = name + (files[i].name) + ";";
7
}
8
document.getElementById("lbName").value = "1: " + name;
9
}
10
Advertisement
Answer
You could use jQuery and bind a change event to the input type=file
.
JavaScript
1
12
12
1
<script type="text/javascript">
2
3
$('input[type="file"]').change(function (e) {
4
var files = [];
5
for (var i = 0; i < $(this)[0].files.length; i++) {
6
files.push($(this)[0].files[i].name);
7
}
8
$(this).next('span').html(files.join(', '));
9
});
10
11
</script>
12
Or if you want to make your javascript work:
JavaScript
1
13
13
1
<script type="text/javascript">
2
3
function upload() {
4
var name = "";
5
var files = document.getElementById("<%= FileUpload1.ClientID %>");
6
for (var i = 0; i < files.files.length; i++) {
7
name = name + (files.files[i].name) + ";";
8
}
9
document.getElementById("<%= lbName.ClientID %>").innerHTML = "1: " + name;
10
}
11
12
</script>
13