Javascript “css隐藏”;选择文件";按钮,但选择后显示文件

Javascript “css隐藏”;选择文件";按钮,但选择后显示文件,javascript,jquery,html,css,file,Javascript,Jquery,Html,Css,File,我想做一个图像上传自定义按钮。我可以通过下面的演示获得此结果: 但是,如何显示之后选择的文件名?或者,如果可能的话,甚至是一个图像的缩略图?就像在我从弹出的窗口中选择一个文件后,我希望它在我选择后的页面上显示“文件名” 如果有人能在这方面提供帮助,Javascript-jQuery完全是一个选项 HTML 通过添加javascript,我们只需观察输入上的change事件,并将名称放在页面上。请注意这些小的HTML更改: <div class="file-upload"> &l

我想做一个图像上传自定义按钮。我可以通过下面的演示获得此结果:

但是,如何显示之后选择的文件名?或者,如果可能的话,甚至是一个图像的缩略图?就像在我从弹出的窗口中选择一个文件后,我希望它在我选择后的页面上显示“文件名”

如果有人能在这方面提供帮助,Javascript-jQuery完全是一个选项

HTML


通过添加javascript,我们只需观察输入上的
change
事件,并将名称放在页面上。请注意这些小的HTML更改:

<div class="file-upload">
  <label for="upload-1" class="btn">Upload</label>
  <input type="file" id="upload-1">
  <p class="file-name">Please select a file.</p>
</div>

此脚本在上载后立即显示图像:

function readURL(input) {

    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#img').show().attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}

$("#files").change(function(){
    readURL(this);
});


只需点击文件元素的更改事件:

 var file = document.getElementById("files");
 file.addEventListener("change", function(){ alert(this.value); });

如图所示:

Javascript。这是一个选项吗?尝试以下链接:谢谢WcPc,我有一个快速问题。如何通过我设置的表单发送此图像?比如,我可以让javascript将此文件添加到我的表单数据中,然后当我提交表单时,我可以将此图像作为数据与当前表单一起发送吗?您不需要js,只需在其周围添加表单标记:
,然后在您的PHP中(我假设您使用PHP):
var your_file=$\u POST['control_name']
例如
var your_file=$\u POST['files']
即使已显示图像,它仍在文件上载控件中处于选中状态。。。
jQuery(function($) {
  $('input[type="file"]').change(function() {
    if ($(this).val()) {
         var filename = $(this).val();
         $(this).closest('.file-upload').find('.file-name').html(filename);
    }
  });
});
function readURL(input) {

    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#img').show().attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}

$("#files").change(function(){
    readURL(this);
});
 var file = document.getElementById("files");
 file.addEventListener("change", function(){ alert(this.value); });