first commit
This commit is contained in:
34
templates/modern/js/custom-file-input.js
Normal file
34
templates/modern/js/custom-file-input.js
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
By Osvaldas Valutis, www.osvaldas.info
|
||||
Available for use under the MIT License
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
;( function ( document, window, index )
|
||||
{
|
||||
var inputs = document.querySelectorAll( '.inputfile' );
|
||||
Array.prototype.forEach.call( inputs, function( input )
|
||||
{
|
||||
var label = input.nextElementSibling,
|
||||
labelVal = label.innerHTML;
|
||||
|
||||
input.addEventListener( 'change', function( e )
|
||||
{
|
||||
var fileName = '';
|
||||
if( this.files && this.files.length > 1 )
|
||||
fileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length );
|
||||
else
|
||||
fileName = e.target.value.split( '\\' ).pop();
|
||||
|
||||
if( fileName )
|
||||
label.querySelector( 'span' ).innerHTML = fileName;
|
||||
else
|
||||
label.innerHTML = labelVal;
|
||||
});
|
||||
|
||||
// Firefox bug fix
|
||||
input.addEventListener( 'focus', function(){ input.classList.add( 'has-focus' ); });
|
||||
input.addEventListener( 'blur', function(){ input.classList.remove( 'has-focus' ); });
|
||||
});
|
||||
}( document, window, 0 ));
|
Reference in New Issue
Block a user