<label class="form-control">
<input class="form-control" type="file" name="data[file]" placeholder="Прикрепите файл" >
<span class="js-labelFile">
<span class="js-fileName">Прикрепить файл</span>
</span>
</label>
$(function(){
$('input[type=file]').each(function() {
var $input = $(this),
$label = $input.next('.js-labelFile'),
labelVal = $label.html();
$input.hide();
$input.on('change', function(element) {
var fileName = '';
if (element.target.value) fileName = element.target.value.split('\\').pop();
fileName ? $label.addClass('has-file').find('.js-fileName').html(fileName) : $label.removeClass('has-file').html(labelVal);
});
});
});
решение с подставлением имени файла на кнопку