我需要一個javascript代碼,在每次上傳輸入值更改(即每次用戶選擇要上載的文件)時上傳輸入文件大小。只需調用一次JavaScript函數而不是每次調用
到目前爲止,我想出了這一點:
var file = document.getElementById("myFile");
file.addEventListener('change', function() {
if (this.files[0].size > 2*1024*1024) {
alert('Max file size is 2 MB');
file.removeAttribute('value');
file.parentNode.replaceChild(file.cloneNode(true),file);
}
}
);
和HTML是:
<form action="?" method="post">
<input type="file" id="myFile" name="myFile" />
<input type="submit" value="upload" />
</form>
現在,如果我離開了Javascript代碼這樣,它不工作所有。 但是,如果我改變它像這樣
window.onload = function() {
// Same code above
}
它的工作原理,但只爲第一個文件用戶選擇。
我該如何改變它使其工作每次用戶選擇一個文件? (如果可能的,而不jQuery的)
你能否嘗試將其更改爲'document.onload'? – nikjohn
問題是,當文件太大時,你替換元素 - 它不再有事件監聽器 –
@DustinToothless - 是什麼讓你覺得這會有所幫助? – Quentin