Javascript 使用Jquery获取文件名
我想获取我上传的文件名,并将其显示在我的Javascript 使用Jquery获取文件名,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想获取我上传的文件名,并将其显示在我的中。 这是我的代码: var filename = $('#image_file').val(); $('#select_file').html(filename); <div class="container-input-custom"> <div class="upload-btn"> <span id="select_file"></span> <label for
中。
这是我的代码:
var filename = $('#image_file').val();
$('#select_file').html(filename);
<div class="container-input-custom">
<div class="upload-btn">
<span id="select_file"></span>
<label for="file-upload"><i class="fa fa-ellipsis-h" aria-hidden="true"></i></label>
<input type="file" id="image_file">
</div>
</div>
var filename=$('#image_file').val();
$('#选择_文件').html(文件名);
这是一个简单的例子。我希望这将有助于您:
$(document).ready(function() {
$("#image_file").on("change", function() {
$("#select_file").html(this.value);
});
});
编辑:
直到现在我才意识到问题所在。
这就是代码:
$(".upload-btn").one("click", function _handler(event) {
_handler.oldContext = this;
var _file = $(this).find("input[type='file']").one("change", function() {
var oldContext = $(_handler.oldContext);
oldContext.find("span#select_file").html(this.value);
$(this).attr("display", "none");
oldContext.one("click", _handler);
});
_file.attr("display","block").trigger("click");
event.stopPropagation();
});
这就是JSFIDLE的工作原理:
Edit2:这是一个有两个输入的工作示例,并将侦听器附加到DocumentReady上
编辑3:Chrome和Chrome与fakepath之间存在问题。这是最后一个版本。
这是一个简单的例子。我希望这将有助于您:
$(document).ready(function() {
$("#image_file").on("change", function() {
$("#select_file").html(this.value);
});
});
编辑:
直到现在我才意识到问题所在。
这就是代码:
$(".upload-btn").one("click", function _handler(event) {
_handler.oldContext = this;
var _file = $(this).find("input[type='file']").one("change", function() {
var oldContext = $(_handler.oldContext);
oldContext.find("span#select_file").html(this.value);
$(this).attr("display", "none");
oldContext.one("click", _handler);
});
_file.attr("display","block").trigger("click");
event.stopPropagation();
});
这就是JSFIDLE的工作原理:
Edit2:这是一个有两个输入的工作示例,并将侦听器附加到DocumentReady上
编辑3:Chrome和Chrome与fakepath之间存在问题。这是最后一个版本。
这是一个获取上传文件名的示例
$(document).ready(function(){
$('input[type="file"]').change(function(e){
var fileName = e.target.files[0].name; //getting the file name
var display = $("#select_file"); //where to display
display.html(fileName);
});
});
我希望这将对您有所帮助:)这是一个获取上传文件名的示例
$(document).ready(function(){
$('input[type="file"]').change(function(e){
var fileName = e.target.files[0].name; //getting the file name
var display = $("#select_file"); //where to display
display.html(fileName);
});
});
我希望这将对您有所帮助:)öК。请更好地解释这个问题。你到底是如何上传文件的?你的后端是什么?此代码段是否位于上载表单中?答案已更改。这是一个非常非标准的解决方案。嗯,在fiddle it wokrs中,但当我实现它时,它会自动打开文件上载对话框,当我执行时,它不会显示文本:/,我们可以确认答案已编辑。情况有所改善。我们处理用户点击上传取消的情况。非常感谢,我已经给出了答案,但如果你能解释一下,这对其他人和我来说都是完美的:Dök。请更好地解释这个问题。你到底是如何上传文件的?你的后端是什么?此代码段是否位于上载表单中?答案已更改。这是一个非常非标准的解决方案。嗯,在fiddle it wokrs中,但当我实现它时,它会自动打开文件上载对话框,当我执行时,它不会显示文本:/,我们可以确认答案已编辑。情况有所改善。当用户点击上传取消时,我们会处理这个问题。非常感谢,我已经给出了答案,但如果你能解释一下,这对其他人和我来说都是完美的:DHi,我已经更新了代码,希望这能帮助你:)。嗯,这似乎有效,但我有两个,当我上传第一个时,第二个也会显示出来,如何分开做?我不太理解你的问题,请更好地解释这个问题。我有两个输入类型文件嗨,我已经更新了代码希望这能帮助你:)。嗯,这似乎可行,但我有两个,当我升级第一个时,第二个也会显示,如何分开做?我不太理解你的问题,请更好地解释这个问题。我有两个输入类型的文件