var form = this.getInputElement().getParent().$,
plugin_path = CKEDITOR.plugins.getPath( 'imgsave' ),
dialog = this;
CKEDITOR.scriptLoader.load( plugin_path + 'jquery.js', function() {
CKEDITOR.scriptLoader.load( plugin_path + 'jquery.form.js', function() {
$(function() {
var options = {
url: 'http://uploads.ru/api?upload',
type: 'POST',
dataType: 'json',
//async: false,
data: { thumb_width: 100, resize_width: editor.config.imageWidth,format:'JSON(P)' },
beforeSubmit: function( formData, jqForm, options ) {
dialog.getElement().setStyle( 'display', 'none' );
dialog.getDialog().getContentElement( 'Upload', 'messages' ).getElement().setStyle( 'display', 'none' );
dialog.getDialog().getContentElement( 'Upload', 'loader' ).getElement().setStyle( 'display', '' );
return true;
},
success: function( responseText, statusText, xhr ) {
alert ('123132132');
var data_json;
if ( toString.call( responseText ) !== "[object Object]" ) {
data_json = JSON.parse( responseText );
} else {
data_json = responseText;
}
if ( data_json[ 'status_txt' ] != 'OK' ) {
dialog.getDialog().getContentElement( 'Upload', 'messages' ).getElement().setHtml( data_json[ 'status_txt' ] );
dialog.getDialog().getContentElement( 'Upload', 'messages' ).getElement().setStyle( 'display', '' );
return false;
}
$.each( data_json, function( q, w ) {
if( q == 'data' ) {
dialog.getDialog().getContentElement( 'Upload', 'preview' ).getElement().setAttribute( 'src', w.thumb_url );
dialog.getDialog().getContentElement( 'Upload', 'urlImage' ).setValue(w.img_url);
}
});
},
error: function(textStatus) {
alert( textStatus );
},
complete: function() {
dialog.getDialog().getContentElement( 'Upload', 'loader' ).getElement().setStyle( 'display', 'none' );
dialog.getDialog().getContentElement( 'Upload', 'preview' ).getElement().setStyle( 'display', '' );
}
};
$( form ).ajaxSubmit( options );
return false;
});
});
});
вот рабочий кусок скрипта по загрузке изображений на сервер uploads.ru на фаерфоксе работает вообщ без проблем. тут как раз и отправляется полностью форма с файлом. скрипт является частью плагина к CKEditor-у. Все работает. но вот только не до конца.