Я нашел этот поток, в котором в основном есть та же проблема, что и у меня. Но их решение у меня не работает.
Диалог появляется в первый раз, когда я нажимаю кнопку отправки, но не во второй раз. Я открываю диалоговое окно после отправки формы.
ОБНОВЛЕНИЕ
Наконец-то у меня все заработало. Вот правильный код:
if (jQuery('#registrationforms').length > 0) {
//instantiate the dialog
jQuery("#dialog").dialog({ modal:true, autoOpen:false });
//Some more code here to call processRegistration function.
}
function processRegistration(instanceID, formData)
{
jQuery.post("mypath/jquery_bll.php", { instance: 'processRegistration', formData : formData, instanceID : instanceID },
function(feedback)
{
jQuery('#dialog').text(feedback.message);
jQuery('#dialog').parent().addClass(feedback.type);
jQuery('#dialog').dialog('open');
},"json");
}
Поскольку я динамически применяю класс css, я должен обязательно добавить его во внешний DIV, который $ .dialog создает для обертывания моего «диалогового» DIV.