jquery .submit +再次请求相同的文件

时间:2012-09-11 06:59:10

标签: jquery html

  

可能重复:
  Upload files using input type=“file” field with .change() event not always firing in IE and Chrome

我有以下代码,使用.submit()

成功上传图像
// Photo Upload Form - AutoUpload
$('input#file').change(function() {
    var maxsize = '20971520';
    var fileExtension = $(this)
                            .val()
                            .split('.')
                            .pop()
                            .toLowerCase();

    if(this.files[0].size > maxsize) {
        $('h4#maxFileSizeExceeded').show();

    }else if($.inArray(fileExtension, ['gif','png','jpg','jpeg']) == -1) {
        $('h4#fileTypeNotAllowed').show();

    }else{
        if(pushState == '0') {
            $('div#uploadPercentage').hide();
            $('img#uploadGifLoaderHTML4').fadeIn('fast');
        }
        $('form#joinPhotoUploadForm').submit();
        jcrop_api.destroy();

        $('div#croppingBackgroundContainer').fadeIn(1000);
        $('div#cropBoxWrapper').css('margin-left', '0px');
    }
});

我遇到的问题是,如果用户再次请求相同的文件,则没有更改,并且提交不会触发。

是否有办法再次请求同一个文件或再次知道同一个文件或者可以对input type =“file”进行某种重置?

*********************更新

      <form action="scripts/php/photo_processing.php?page=join&section=precrop" id="joinPhotoUploadForm" enctype="multipart/form-data">
        <input type="file" name="file" id="file"><br>
      </form>

用户单击浏览按钮并可以选择图像。如果用户选择不同的图像,则图像将上载。但是,如果用户选择相同的图像,则.change()函数根本不会触发。我假设因为它保持与以前相同的状态。

THX

1 个答案:

答案 0 :(得分:0)

如果在input[type=file]中选择了相同的文件,则不会调用change事件,因为没有更改。添加一个按钮以再次激活您的代码或使用表单上的submit事件。