我在jQuery中提交fire有问题:
$(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)我需要正常提交表单。但是当图片上传时,提交不会触发。我该怎么办?
答案 0 :(得分:0)
试试这个:
已编辑:修复此问题:尾随,此处位于'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) {
}
});
});
答案 1 :(得分:0)
我相信你有一个提交循环的公式,如果它可以工作。一些建议。您可以将表单分成两种形式(单独的表单标记),一种用于文件上载,另一种用于输入数据。文件上传完成后,提交数据表单。然而,最好的方法是使用uploadify,您可以将其他附加数据作为参数发送,这样处理文件上载的相同脚本也可以处理传入的数据。您可以获取var myform = $(this).serializeArray()
这样的格式参数,我相信参数为formData
,因此您可以在uploadify()配置参数中设置'formData':myform
。 (参考:The Uploadify网站现在正在http://www.uploadify.com/documentation/uploadify/formdata/。