jQuery没有ajax进度条文件上传器

时间:2013-05-02 00:29:31

标签: php jquery upload progress

我正在撰写文件上传网络应用。它目前是一个带有php条件的3步表单。

我让上传者工作。但我想知道是否有一种方法可以创建一个没有AJAX用户的进度条。我有一个与jQuery和ajax完美配合的进度条,但在文件上传完成后,表单没有提交并转到确认页面并回显结果和变量等。

是否真的没有简单的方法来跟踪文件上传百分比与php和jquery / javascript,而不需要ajax?疯狂试图弄清楚这个问题。

1 个答案:

答案 0 :(得分:0)

使用此jquery进度条代码上传文件

<script type="text/javascript" language="javascript" src="script/jquery-progress-form.js"></script>
    <script>
    $(document).ready(function()
            {
        $("#ajax_up").click(function(){
         var options = { 
                beforeSend: function() 
                {
                    $("#progress").show();
                    $("#bar").width('0%');
                    $("#message").html("");
                    $("#percent").html("0%");
                },
                uploadProgress: function(event, position, total, percentComplete) 
                {
                    $("#bar").width(percentComplete+'%');
                    $("#percent").html(percentComplete+'%');
                },
                success: function() 
                {
                    $("#bar").width('100%');
                    $("#percent").html('100%');
                },
                complete: function(response) 
                {
                $("#message").html("<font color='green'><div style='height:1000px;'>"+response.responseText+"</div></font>");
                },
                error: function()
                {
                    $("#message").html("<font color='red'> ERROR: unable to upload files</font>");
            }
            }; 
        $("#myForm").ajaxForm(options);

        });
            });
    </script>
    <style>
        #progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius: 3px; }
        #bar { background-color: #B4F5B4; width:0%; height:10px; border-radius: 3px; padding-bottom:10px; }
        #percent { position:absolute;top:3px; left:48%; }
    </style>


    <h2 style="font-family:Arial, Helvetica, sans-serif;">Upload Image</h2>
         <form id="myForm" name="photo" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
         <input type="file" name="image" size="30" id="image" />
         <input type="submit" name="upload" value="Upload" class="buttoni2m_1" id="ajax_up" /><br />

        </form> <br />  
    <div id="progress">
            <div id="bar"></div>
            <div id="percent">0%</div >
    </div>
    <div id="message"></div><br />