Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证上载文件大小JavaScript_Javascript_File_Validation_Size_Dimensions - Fatal编程技术网

验证上载文件大小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

我想用JavaScript验证一个文件。 我有一个上传文件的表格

<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;
                                          

            }
        }
                
    }
        
}