繁体   English   中英

JQuery中的多文件上传扩展名验证

[英]Multiple File Upload Extension Validation in JQuery

我无法获得多个文件上传的确切验证。 这是我的表格

 Upload Attachment(s):
    <input type="file" id="client_attachments" name="client_attachments[]" class="client_attachments">
    <div class="addbutn"><a href="javascript:void(0);" id="add_more"><i class="fa fa-plus-square"></i></a></div>
<div class="new_file"></div>

当我点击添加更多按钮时,它将添加多个文件上载。

$(document).ready(function(){
$('#add_more').click(function(){

$('.new_file').append('<div><input type="file" class="client_attachments" name="client_attachments[]"></div>');

});

我的问题无法验证新添加的输入文件。 我写了这样的JS代码进行验证

$('input[name="client_attachments[]"]').each(function(){
    var value=$(this).val;
    alert(value);
    $(value).checkFileType({
        allowedExtensions: ['jpg', 'jpeg','pdf','doc','docx','txt','png','bmp','gif','xlsx'],
        success: function() {
            alert('Success');
        },
        error: function() {
            alert('Error');
        }
    });


});

对于checkFileType js函数是

(function($) {
    $.fn.checkFileType = function(options) {
        var defaults = {
            allowedExtensions: [],
            success: function() {},
            error: function() {}
        };
        options = $.extend(defaults, options);

        return this.each(function() {

            $(this).on('change', function() {
                var value = $(this).val(),
                    file = value.toLowerCase(),
                    extension = file.substring(file.lastIndexOf('.') + 1);

                if ($.inArray(extension, options.allowedExtensions) == -1) {
                    options.error();
                    $(this).focus();
                } else {
                    options.success();

                }

            });

        });
    };

})(jQuery);

它将仅验证一个文件。 请也帮助我如何验证附加文件。 提前致谢。

的HTML

 $("input[name=file1]").change(function() { var names = []; for (var i = 0; i < $(this).get(0).files.length; ++i) { names.push($(this).get(0).files[i].name); } $("input[name=file]").val(names); }); 
 <input type="file" id="foo" name="file1" multiple="multiple" /> <input name="file" type="text" /> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM