0
我在jQuery的一個函數來完成這樣的:在Javascript傳遞整個標籤作爲參數
$('#<%=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]);
}
}
正如你可以在更改事件看我將這個作爲參數傳遞給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。 – Pointy
是的,這是問題,非常感謝! :) – User987