1

重複の可能性:
input type=“file” フィールドを使用して .change() イベントを使用してファイルをアップロードすると、IE および 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');
    }
});

私が抱えている問題は、ユーザーが同じファイルを再度要求した場合、変更がなく、送信が開始されないことです。

同じファイルを再度要求する方法、または同じファイルを再度知る方法、または入力タイプ = "ファイル" で実行できる何らかのリセットの方法はありますか?

********************* アップデート

      <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() 関数はまったく起動しません。以前と同じ状態を保っているからだと思います。

どうも

4

1 に答える 1

0

同じファイルが選択されている場合、変更がないため、イベントinput[type=file]は呼び出されません。changeコードを再度起動するボタンを追加するかsubmit、フォームでイベントを使用します。

于 2012-09-11T07:24:44.813 に答える