0

我在 jQuery 中提交火有问题:

$(document).ready(function() {
                    $('#zestaw-edytuj-form').submit(function(e) {
                        e.preventDefault();
                        $('#ip_dilmarbundle_zestawytype_path').uploadify('upload');
                    });

                    $('#ip_dilmarbundle_zestawytype_path').uploadify({
                        'swf'      : '{{ asset("js/uploadify/uploadify.swf") }}',
                        'uploader' : '{{ path('upload-image') }}',
                        'folder'   : '{{ asset("images") }}',
                        'auto'     : false,
                        'onUploadSuccess' : function(file,data,response) {
                            $('#ip_dilmarbundle_zestawytype_zdjecie').attr('value',file.name);

                        },
                        'onUploadComplete' : function(file) {
                            $('#zestaw-edytuj-form').submit();
                        },
                        'onUploadError' : function(file, errorCode, errorMsg, errorString) {

                        },
                    });
                });

首先,点击提交按钮后,我需要阻止默认并上传图片。上传完成后(onUploadComplete)我需要正常提交表单。但是当图片上传时,提交不会触发。我能用它做什么?

4

2 回答 2

0

Try this:

EDITED: fixed this too: a trailing , here at the end of 'onUploadError : func(){},'

$(document).ready(function() {
    var ready = false;

$('#zestaw-edytuj-form').submit(function(e) {
    if(!ready){
        e.preventDefault();
        $('#ip_dilmarbundle_zestawytype_path').uploadify('upload');
    }
});

$('#ip_dilmarbundle_zestawytype_path').uploadify({
    'swf'      : '{{ asset("js/uploadify/uploadify.swf") }}',
    'uploader' : '{{ path('upload-image') }}',
    'folder'   : '{{ asset("images") }}',
    'auto'     : false,
    'onUploadSuccess' : function(file,data,response) {
        $('#ip_dilmarbundle_zestawytype_zdjecie').attr('value',file.name);

    },
    'onUploadComplete' : function(file) {
        ready = true;
        $('#zestaw-edytuj-form').submit();
    },
    'onUploadError' : function(file, errorCode, errorMsg, errorString) {

    }
});
});
于 2013-04-17T06:45:51.583 回答
0

我相信你在这里有一个提交循环的公式,如果它可以工作的话。几个建议。您可以将表单分成两种形式(单独的表单标签),一种用于文件上传,另一种用于输入数据。文件上传完成后,提交数据表单。然而,最好的方法可能是使用uploadify,您可以发送其他附加数据作为参数,以便您处理文件上传的同一脚本也可以处理传入数据。你可以得到表单参数var myform = $(this).serializeArray(),我相信参数是formData这样的,你可以'formData':myform在 uploadify() 配置参数中设置它。(参考:Uploadify 网站现已关闭http://www.uploadify.com/documentation/uploadify/formdata/

于 2014-07-21T13:18:14.647 回答