Ну я как смог понять так и отвечаю )))
Форму придётся передовать используя асинхронный запрос методом 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 , думаю его тоже можно приспособить.