验证上载文件大小JavaScript
我想用JavaScript验证一个文件。 我有一个上传文件的表格验证上载文件大小JavaScript,javascript,file,validation,size,dimensions,Javascript,File,Validation,Size,Dimensions,我想用JavaScript验证一个文件。 我有一个上传文件的表格 <input type="file" name="attachment" ><span></span> <input type="hidden" name="event_id" value="<?php print $event['id'];?>" /> <input
<input type="file" name="attachment" ><span></span>
<input type="hidden" name="event_id" value="<?php print $event['id'];?>" />
<input type="submit" name="Submit" class="button" value="Schimba Imaginea" onClick="return validateEditImageEvent()" >
以及验证文件的函数:
function checkIsFile(el){
span = el.parentNode.getElementsByTagName('span')[0];
span.innerHTML="";
if (el.value =='')
{
span.appendChild(eIcon("Adaugati o imagine!"));
return false;
}
else
{
if(el.files[0].size >= 500000)
{
var actsize = el.files[0].size / 1000;
var mysize = actsize.toFixed(0);
alert('Fisierul uploadat este prea mare. Dimensiunea maxima trebuie sa fie de 500 KB. Dimensiunea actuala este de '+mysize+' KB.');
return false;
}
else
{
var file = el.files[0];
if( file ) {
var img = new Image();
img.src = window.URL.createObjectURL( file );
//img.onload = function() {
var width = img.naturalWidth,
height = img.naturalHeight;
window.URL.revokeObjectURL( img.src );
if( width > 2048 || height > 2048 ) {
alert('Imaginea are dimensiunea prea mare: '+width+'x'+height+'. Maximul admis este de 2048x2048.');
return false;
}
else
{
return true;
// form.submit();
}
//};
}
else
{
return true;
}
}
}
}
我对注释的文本://img.onload=function{}有问题;
因为当文件具有正确的维度时,我无法返回true,因为必须调用form.submit事件。
但我只想回到现实
如何更改函数以删除注释代码并使其正常工作。如果我现在这样做,宽度和高度验证就不起作用了
function checkIsFile(el){
span = el.parentNode.getElementsByTagName('span')[0];
span.innerHTML="";
if (el.value =='')
{
span.appendChild(eIcon("Adaugati o imagine!"));
return false;
}
else
{
if(el.files[0].size >= 500000)
{
var actsize = el.files[0].size / 1000;
var mysize = actsize.toFixed(0);
alert('Fisierul uploadat este prea mare. Dimensiunea maxima trebuie sa fie de 500 KB. Dimensiunea actuala este de '+mysize+' KB.');
return false;
}
else
{
var file = el.files[0];
if( file ) {
var img = new Image();
img.src = window.URL.createObjectURL( file );
//img.onload = function() {
var width = img.naturalWidth,
height = img.naturalHeight;
window.URL.revokeObjectURL( img.src );
if( width > 2048 || height > 2048 ) {
alert('Imaginea are dimensiunea prea mare: '+width+'x'+height+'. Maximul admis este de 2048x2048.');
return false;
}
else
{
return true;
// form.submit();
}
//};
}
else
{
return true;
}
}
}
}