我试图通过使用JQuery给出的文件名格式检查文件名。
这是我的代码:
<input class="" name="myfile" id="myfile" type="file" multiple="false" data-value="">
我的JQuery脚本:
function checkFileName(filename, file_id){
var must_filename;
must_filename = jQuery(file_id).attr('data-value').split('.').slice(0, 2).join('.');
jQuery('.file_err_det').remove();
alert(must_filename + ' != ' + filename);
// filename value is always null?
if(must_filename != filename){
alert('Filename is not valid! Please follow the format and upload it again');
jQuery(file_id).val('');
}
}
jQuery('#myfile').blur(function() {
var this_filename = jQuery(this).val().split('.').slice(0, 2).join('.');
checkFileName(this_filename, '#myfile');
alert(this_filename); // this returns null? I dont know why..
});
但似乎值this_filename
为空。我正在使用blur
,有什么我可以用来检查jQuery('#myfile').val()
吗?
答案 0 :(得分:0)
请参阅Using files from web applications
File API可以访问包含File的FileList 表示用户选择的文件的对象。
如果用户只选择一个文件,则只需要 考虑列表的第一个文件。
使用经典DOM选择器访问一个选定的文件:
var selectedFile = document.getElementById('input').files[0];
使用jQuery选择器访问一个选定的文件:
var selectedFile = $('#input').get(0).files[0];
var selectedFile = $('#input')[0].files[0];
尝试使用change事件
$("#myfile").on("change", function(e) {
var file = e.target.files[0];
console.log(file, file.name);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<input class="" name="myfile" id="myfile" type="file" multiple="false" data-value="">
&#13;