我一直在使用http://www.hoppinger.com/blog/2010/05/28/file-upload-progress-bar-with-phpapc-and-javascript/提供的上传器并将其应用到one of my forms,并且在进度表工作时,提交功能在成功上传时不会触发。
我正在使用的完整代码如下:
JS
get_progress.php
uploader.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。
答案 0 :(得分: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>
现在一切都很好。