src/util/ajax/proxy/xhr.js
function(_form){
            var _result = [];
            _u._$reverseEach(
                _form.getElementsByTagName('input'),
                function(_input){
                    if (_input.type!='file'){
                        return;
                    }
                    // remove file without name
                    if (!_input.name){
                        _input.parentNode.removeChild(_input);
                        return;
                    }
                    // for multiple file per-input
                    if (_input.files.length>1){
                        _u._$forEach(_input.files,function(_file){
                            _result.push({name:_input.name,file:_file});
                        });
                        _input.parentNode.removeChild(_input);
                    }
                }
            );
            return _result.length>0?_result:null;
        }
function(_form){
            var _result = [];
            _u._$reverseEach(
                _form.getElementsByTagName('input'),
                function(_input){
                    if (_input.type!='file'){
                        return;
                    }
                    // remove file without name
                    if (!_input.name){
                        _input.parentNode.removeChild(_input);
                        return;
                    }
                    // for multiple file per-input
                    if (_input.files.length>1){
                        _u._$forEach(_input.files,function(_file){
                            _result.push({name:_input.name,file:_file});
                        });
                        _input.parentNode.removeChild(_input);
                    }
                }
            );
            return _result.length>0?_result:null;
        }
function ( _form ) { var _result = [ ] ; _u . _$reverseEach ( _form . getElementsByTagName ( 'input' ) , function ( _input ) { if ( _input . type != 'file' ) { return ; } // remove file without name if ( ! _input . name ) { _input . parentNode . removeChild ( _input ) ; return ; } // for multiple file per-input if ( _input . files . length > 1 ) { _u . _$forEach ( _input . files , function ( _file ) { _result . push ( { name : _input . name , file : _file } ) ; } ) ; _input . parentNode . removeChild ( _input ) ; } } ) ; return _result . length > 0 ? _result : null ; }
split input.file for multiple files
split input . file for multiple files