Получить переданный аргумент в функции:
function checksize(that) {
if (that.files[0].size > 2097152) {
alert("File is too big!");
that.value = "";
that.className = "is-invalid form-control-file";
} else {
that.className = "form-control-file"
};
}
<input onchange="checksize(this)" required accept=".jpg, .pdf, .jpg, .jpeg, .png" id="idfile" class="form-control-file" type="file" name="idfile">
Или вместо определения события в HTML вы можете добавить его динамически, используя:
document.getElementById('idfile').addEventListener('change', checksize);
и используйте вашу функцию (используя ключевое слово this
):
document.getElementById('idfile').addEventListener('change', checksize);
function checksize() {
if (this.files[0].size > 2097152) {
alert("File is too big!");
this.value = "";
this.className = "is-invalid form-control-file";
} else {
this.className = "form-control-file"
};
}
<input required accept=".jpg, .pdf, .jpg, .jpeg, .png" id="idfile" class="form-control-file" type="file" name="idfile">