【发布时间】:2016-12-03 15:11:37
【问题描述】:
我在 jQuery 中有一个这样的函数:
$('#<%=FileUpload1.ClientID%>').change(function () {
var l = document.getElementById('popap');
l.click();
readURL(this);
});
这里是 readURL 函数:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#before').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
正如您在更改事件中看到的,我将 this 作为参数传递给 readURL 函数,然后在 readURL 函数中访问它的属性。
我的问题是,如果此事件是在单击按钮时触发的,我将如何做同样的事情?只有这一次我需要将在文件上传元素上选择的内容传递给 readURL 函数。我尝试过类似以下的方法:
$('#<%=btnEdit.ClientID%>').click(function (e) {
e.preventDefault();
var l = document.getElementById('popap');
l.click();
readURL(document.getElementById("FileUpload1"));
});
但这并没有真正做任何事情,图片根本没有显示......?
我做错了什么?
【问题讨论】:
-
当您正确编码第一个代码示例时,实际 ID 不是“FileUpload1” - 它是
<%=FileUpload1.ClientID%>。您必须从 ASP 中提取实际 ID 并使用它,因为这是浏览器看到的标记中使用的实际 ID。 -
是的,这就是问题所在,非常感谢!!! :)
标签: javascript jquery asp.net parameters webforms