Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Изменить поле Загрузить файл


Автор: sashgera 23.5.2016, 15:24
Здравствуйте
Есть JS который заменяет стандартный инпут type file (Загрузить файл)
Инпут выглядит в виде дива-кнопки и при выборе файла текст в диве меняется - с "Прикрепить файл" на имя прикрепленного файла
http://www.tatuning.ru/Untitled-5-1.html
Прошу помощи, не получается сделать отдельно див-кнопку "Загрузить файл" и инпут, в котором будет имя прикрепленного файла
примерно как на этой картинке:
user posted image
Код

<input type="file" name="attach-order" class="attach_order" id="attachorder" title="Прикрепить файл" onchange="attachVM(this);">

Код

<script type="text/javascript">
$(document).ready(function(){
    $.fn.customFile = function(){
        return this.each(function(){
            var $file = $(this).addClass('customfile'),
            $wrap = $('<div class="customfile-wrap">'),
            $link = $('<div style="display: inline-block; background-color: #ccc; padding: 10px 40px; cursor: pointer;" class="inp_default_text" href="javascript:void(0);">'+$file[0].title+'</div>'),
            $label = $('<label class="inp_default_text" for="'+ $file[0].id +'">'+$file[0].title+'</label>'), //Hack for IE
            isIE = /msie/i.test(navigator.userAgent);
            $file.css({
                position: 'absolute',
                left: '-9999px'
            });
            $wrap.insertAfter($file).append( $file, ( isIE ? $label : $link ));
            $file.attr('tabIndex', -1);
            $link.attr('tabIndex', -1);
            $link.click(function(){
                $file.focus().click(); 
            });
            $file.change(function(){
                var filename = $file.val().split('\\').pop();
                $link.html(( filename ? filename : $file[0].title ));     
            });
        });
    };
    $('input[class=attach_order]').customFile(); 
});
</script>

Автор: sashgera 24.5.2016, 19:30
Тема закрыта. Вопрос решен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)