0

我有这个使用更改事件的插件。

(function( $ ){
  $.fn.liteUploader = function (userOptions) {
    var defaults = { script: null, allowedFileTypes: null, maxSizeInBytes: null, typeMessage: null, sizeMessage: null, before: function(){}, ... },
        options = $.extend(defaults, userOptions);

this.change(函数(){

        var i, formData = new FormData(), file, obj = $(this), errors = false, errorsArray = [], filename = $(this).attr('name');
        if (this.files.length === 0) { return; }
...

并像这样准备工作:

$(function(){
   $('.fileUpload').liteUploader({
        script: 'upload.php',
        allowedFileTypes: 'image/jpeg,image/png,image/gif',
        maxSizeInBytes: 1048576, 
   ... 
});

我想把它放在一个函数(即:my_upload())中,这样使用:

<input type="file" name="fileUpload1" id="fileUpload1" class="fileUpload" onchange="javascript: my_upload();" />

但我有 2 个更改事件并上传 2,3.. 次相同的文件。如果我从插件中删除this.change(function () {,我会得到一个错误:

TypeError: this.files is undefined
if (this.files.length === 0) { return; }

解决办法是什么?提前致谢。

4

0 回答 0