<input id="archivo" name="archivo" type="file">
所以我的檔案型別欄位稱為archivo,其父級是formIncidencia,所以我正在做的是找到它:
$('#formIncidencia').find("[id='archivo']");
這很好,但是當我嘗試這樣做時:
$('#formIncidencia').find("[id='archivo']").files[0].size;
它不是那樣作業的,我正在上傳一個檔案,所以不知道它發生了什么..
uj5u.com熱心網友回復:
您忘記獲取 jQuery 回傳的第一個元素find:
$('button').click(() => console.log($('#formIncidencia').find("[id='archivo']")[0].files[0].size));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="formIncidencia">
<input id="archivo" name="archivo" type="file">
</form>
<button>Log file size</button>
我想你應該只使用一個選擇器來實作這一點:
$('button').click(() => console.log($('#formIncidencia > #archivo')[0].files[0].size));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="formIncidencia">
<input id="archivo" name="archivo" type="file">
</form>
<button>Log file size</button>
此外,如果您的頁面遵守HTML 規范,則它不應包含多個元素,archivo因為id這樣甚至#formIncidencia是多余的。
uj5u.com熱心網友回復:
$('#formIncidencia').find("[id='archivo']")即使您只有 1 個輸入欄位,使用也會回傳一個匹配陣列。因此,您必須將其更改為$('#formIncidencia').find("[id='archivo']")[0].files[0].size;.
uj5u.com熱心網友回復:
嘗試以下操作:
$('#formIncidencia').find('change', function() {
//this.files[0].size gets the size of your file.
alert(this.files[0].size);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/415605.html
標籤:
下一篇:如何轉換陣列?
