Проведя несколько дней в поисках решений здесь и в других местах в сети, похоже, что задание моего вопроса напрямую стало моей последней и единственной возможностью.Мой сайт полностью основан на AJAX;У меня есть функции, которые создают и загружают удаленный контент в лайтбоксы, подсказки, iframes (ACD) и т. Д. ...
Там, где требуется загрузка форм, я решил использовать ui.dialog, чтобы представить Captcha ajaxForm как1-й шаг;который также вызывает внутренний скрипт для проверки RBL на удаленном хосте.
Так что, если проверка RBL сбрасывается и капча правильная, у меня есть ajaxForm.postResponse, чтобы заполнить сообщение в диалоговом окне.Теперь сама ajaxForm может (если все в порядке) закрыть диалог и открыть новый модал;но это отняло бы контроль над процессом у вызывающей стороны и потребовало бы, чтобы ajaxForm знал о намерениях вызывающей стороны (какой контент и в каком режиме - tip, lightbox, ...).Я просто хочу, чтобы форма капчи выполнила тест и возвратила двоичное значение, которое она может передать вызывающему.
Есть ли способ для вызывающего абонента сказать вызывающему (экземпляр диалога), чтобы он могзатем продолжайте загружать актуальную форму, для которой она предназначена.Например, jQuery.facebox ({ajax: someUrl});
Диалог должен быть в состоянии обработать некоторое возвращаемое значение из ajaxForm.Я смотрел на публичные методы ui.dialog в опциях, я смотрел на опции расширения, я смотрел на параметры, связанные с кнопками (e, ui).Все безрезультатно.
После поиска в сети мне еще не удалось найти никого, кто опубликовал способ передать диалогу возвращаемое значение, на которое он может воздействовать (в b4close, или close, или в любом месте FTM)
Только в этот час я понял, что, может быть, я мог бы быть умным, и чтобы ajaxForm.postResponse вставил в диалог что-то, что по завершении диалоговое окно может проверить (скажем, изображение OK).Таким образом, диалог будет воздействовать на содержимое разметки вместо фактического возвращаемого значения.Что за клудж.
Кто-нибудь знает способ передачи значения обратно в диалог после его создания?Я обнаружил, что $ ("# myDialog) .data можно" увидеть "с помощью $ (" # myDialog) .dialog, поэтому возможен ли вектор данных?Установите myDialog.data ('retVal', 'false'), а затем заставьте postResponse изменить его на true, если все в порядке, и разрешите диалоговому окну затем проверить эту переменную в close () / beforClose ()?
Или как насчет$ ('#myDialog') .dialog ('option', 'retVal', false);Может ли ajaxForm.postResponse изменить эту опцию после создания диалога.
Есть ли другие способы сделать это?TIA