0

ユーザーが最大 100 MB のファイルを参照できる参照ボタンがあります。しかし問題は、ユーザーがフォームを送信するときに添付ファイルをアップロードしていることです。また、アップロードされたファイルの量はどこにも表示されません。プログレスバーで表示したい。

私のサイトhttp://historikindia.com/contact_us.phpにアクセスできます。

私がそれをするのを手伝ってください。現在、私のメールに添付ファイルを送信しています。しかし、ユーザーにプログレスバーを表示する必要があります。そうしないと、適切に応答していないと思われる可能性があります(大きなファイルのアップロードの場合)。

4

1 に答える 1

1

ステータス バーを更新する ajax アップローダのコードを次に示します。動作させるには、html ページに html5 プログレス バーが必要です。

function progressHandlingFunction(e){
    if(e.lengthComputable){
        $('progress').attr({value:e.loaded,max:e.total});
    }
}

$('#btnupload').click(function(){
                var formData = new FormData(document.getElementById('fileupload'));
                $.ajax({
                    url: 'upload.php', //server script to process data
                    type: 'POST',
                    xhr: function() {  // custom xhr
                        myXhr = $.ajaxSettings.xhr();
                        if(myXhr.upload){ // check if upload property exists                               
                             myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // for handling the progress of the upload
                        }
                        return myXhr;
                    },
                    //Ajax events
                    beforeSend: function (e) { return true; },
                    success: function (json) { return true; },
                    error: function (json) { return false; },
                    // Form data
                    data: formData,
                    dataType: "json",
                    //Options to tell JQuery not to process data or worry about content-type
                    cache: false,
                    processData: false
                });
            });

html5プログレスバーはこのようになります

 <progress value="1" max="100"></progress>
于 2013-08-18T08:51:41.097 に答える