Мне нужен код 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
}
это работает, но только для первого файла пользователь выбирает.
Как его изменить, чтобы заставить его работать everytime пользователь выбирает файл? (если это возможно без JQuery)
могли бы попытаться изменить его в 'document.onload'? – nikjohn
проблема в том, что когда файл слишком велик, вы заменяете элемент - у него больше нет слушателя событий –
@DustinToothless - Почему вы думаете, что это поможет? – Quentin