Показать сообщение отдельно
  #4 (permalink)  
Старый 15.01.2012, 22:52
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Ну я как смог понять так и отвечаю )))
Форму придётся передовать используя асинхронный запрос методом get
По задумке должно проканать для любой cms


//создадим диалог до открытия (необязательно)
//просто создание диалога только ради открытия, это ни совсем верная практика
var tag = $("<div></div>");
tag.dialog({modal: true,width: 'auto', title: title })

// ваш метод
function showUrlInDialog(url, title){

  $.ajax({
    url: url,
    success: function(data) {
      tag.html(data).dialog('open');
      tag.find("mySubmit").click(function(){
          sendForm(tag,"#myForm","test.php");
          return false; 
      })   

    }
  });
}

//sendForm сериализует форму и отправляет её асинхронным запросом
// негативный результат отображает в окне, а в случае удачи окно закрывает

function sendForm(win,form,url){
      //get или post вам нужен я не знаю, я пример для get написал
      // метод по get запросу передаёт сериализованную форму и ждёт ответа
      $.get(url+"?"+$(form).serialize(),function(data){

           // давайте условимся если есть ошибки то сервер вернёт нам   следующий код 
           // <div class="errorLog"> тут наши ошибки </div> 
           // причём этот код может находится внутри 
           // другого кода, скрипту должно бытль паралельно
           // Конечно вы необязаны применять $(data), если вы можете вернуть страницу только с ошибками без стороннего кода,  
           // то возвращайте только её, и работайте с data напрямую

            // достанем содержимое элемента с классом .errorLog из data
            var errLog=$(data).find(".errorLog").html();  

            // если в errLog есть что-то, это значит есть ошибки
            if (errLog.length>0){
                //установим текст в диалог 
                //tag-указывающий на диалоговое окно должен быть доступен    
                // в вашем примере tag это локальная переменная и вне функции showUrlInDialog  она будет недоступна.   
                win.html (errLog);
           }         
            // если всё отлично и errorlog пустой тогда закрываем окно
           else {  
               win.dialog('close');
           }            
      })       
}


За отсутствие ошибок в коде не ручаюсь, основная задача была донести идею.
Ещё есть плагин ajaxForm , думаю его тоже можно приспособить.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 16.01.2012 в 00:43.
Ответить с цитированием