Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Отправка файла из формы расположеной в диалоговом окне без перезагрузки страницы (https://javascript.ru/forum/jquery/17071-otpravka-fajjla-iz-formy-raspolozhenojj-v-dialogovom-okne-bez-perezagruzki-stranicy.html)

ugin_root 04.05.2011 19:56

Отправка файла из формы расположеной в диалоговом окне без перезагрузки страницы
 
Возникла проблема с отправкой формы (если в форме нет файла то всё работет, если не использовать окно диалога то работает и отправка файла), выскакивает ощибка
Код:

$.handleError is not a function
        cb()
$.handleError(opts, xhr, 'error', e);

js
function add_image(){
		$('<div id="add_im"></div>').appendTo('#head_form');
		$.ajax({   
			url: "?ajax=1&page=add_image_form",   
			cache: false,   
			success: function(html){
				$(html).appendTo('#add_im');
				$(function(){
					$('#add_im').dialog({
						buttons: {
							"Принять": function(){
//--------------------------------------------------------------------
//сдесь начинается проблема, ни error, ни success не вызывается
								var option = {
									error: function(xhr, str){alert('Возникла ошибка: ' + xhr.responseCode);},
									success: function(msg) {
										alert('111');
										return false;
									}
								}
								$('#add_imagesss').ajaxSubmit(option);
								$('#add_im').remove();
								$(this).dialog("destroy");
//--------------------------------------------------------------------
							},
							"Отмена": function(){
								$('#add_im').remove();
								$(this).dialog("destroy");
							}
						},
						close: function(event, ui){
							$('#add_im').remove();
							$(this).dialog("destroy");
						},
						position: ["center","center"],
						title: 'Добавление нового изображения',
						width: 800
					});
				});
			}   
		});
		return false;
	}

html
<form id="add_imagesss" action="?ajax=1&page=add_image" method="post" enctype="multipart/form-data">
	<input type="file" name="file" value="" />
	<input type="text" name="title" value="" />
	<input type="text" name="description" value="" />
</form>

если тоже самое сделать без использования окна диалога (добавив кнопку submit) то всё работает
выглядит примерно так:
$('#add_imagesss').submit(function() { 
    $(this).ajaxSubmit(options); 
    return false;
  });


Часовой пояс GMT +3, время: 02:01.