如何使用jquery从文件输入类型获取文件名而不提交表单

时间:2015-10-29 12:45:12

标签: javascript jquery

我想在用户点击按钮时选择文件用户的文件名,而不是提交按钮。我已经尝试了很多在stackoverflow上给出的解决方案,但它不起作用我有字段的id但它没有给出文件的名称。

以下是我的代码:

function Data(a)
{   
var ext = $('#fieldid_'+a).val().split('.').pop().toLowerCase();
.......

<input type="file" name="save_<?=$row1['id']?>" id="fieldid_<?=$row1['id']?>" /> 
<input type="button" id="submit_<?=$row1['id']?>" value="Upload File" onclick = "return Data(<?=$row1['id']?>)"/> 

3 个答案:

答案 0 :(得分:1)

使用以下脚本获取文件名: 参考链接:Use jQuery to get the file input's selected filename without the path

jQuery('input[type=file]')[0].files[0].name

(OR)

$('input[type=file]')[0].files[0].name

不仅仅是存档:

var all_files = jQuery('input[type=file]');
var paths_arr = [];
for(var i=0;i<all_files.length;i++){
paths_arr.push(all_files[i].files[0].name);
} 
 paths_arr[0] = first file name
 paths_arr[1] = second file name

答案 1 :(得分:0)

文件是 FileList 对象&amp; names是一个数组的字符串(文件名)

$( "#buttonid_1" ).click(function(){
    var files = $('#fieldid_1').prop("files");
    var names = $.map(files, function(val){
        return val.name;
    });
    console.log(names[0]);
})

参考: https://stackoverflow.com/a/10703223/3119231

示例: http://jsfiddle.net/ndfn782o/1/

编辑: 测试&amp;&amp; 110%工作

答案 2 :(得分:-1)

document.getElementById('fileInputId').files[0].name

请参阅fiddle