0

我一直在使用http://www.hoppinger.com/blog/2010/05/28/file-upload-progress-bar-with-phpapc-and-javascript/提供的上传器,并已将其应用于一个我的表格 和进度表工作时,提交功能不会在成功上传时触发。

我正在使用的完整代码如下:

JS
get_progress.php
上传器.php

据我所知,以我有限的经验,这是处理提交的函数:

postUpload : function(o_data)
{
    // Loop through every input and set json response in hidden input
    this.a_inputs.each((function(o_input)
        {
            var s_name = o_input.get('name');
            var s_value = '';

            if(o_file = o_data.files[s_name])
            {
                s_value = JSON.encode(o_file);
            }


            var o_jsonInput = new Element('input',{'type': 'hidden','name':o_input.origName,'value':s_value}).replaces(o_input);


        }).bind(this));

    // Make form "original" again by purging elements and resetting attributes
    this.revertSubmit();
    this.o_form.submit();
},

我注意到提交是this.o_form.submit();而不是this.form.submit();检查它并且他已经o_form : {}在类的顶部声明,所以我认为他的语法是正确的,但我没有真正的想法。

在我实施这个进度跟踪器之前,表单运行良好,所以这让我很沮丧。

本质上出了什么问题,我只能假设它就像丢失;或类似的错误一样简单。

如果您404在提交时得到一个,则表示它有效。我已暂时取消阻止该页面以进行故障排除。

由于可能相关,我的网站使用 WordPress。

4

1 回答 1

0

事实证明,javascript没有将APC_UPLOAD_PROGRESS标签添加到表单中,所以我jQuery在初始化后添加了以下内容:

<script type="text/javascript">
    jQuery(document).ready(function(){

        var id = jQuery("form").attr('id');

        jQuery("form").submit(function(){

            jQuery(this).append("<input type=\"hidden\" name=\"APC_UPLOAD_PROGRESS\" value=\""+id+"\" />");

        });

    });

</script>

现在一切都很好。

于 2012-05-22T00:50:53.293 回答