Jquery Dialog - открытие дополнительного диалога

У меня открывается диалоговое окно после отправки формы с помощью плагина ajaxForm. ajaxForm обновляет содержимое диалога.

Проблема в том, что открывается дополнительный диалог. Вот код javascript:

function formSubmit(target, form, success){
    var formoptions = { 
        target: target,
        success: success
    }; 
$(form).ajaxForm(formoptions);
}

function createDialog(element){
    $(element).dialog({
            modal: true,
            autoOpen: false,
            buttons: {
                Ok: function() {
                    $(this).dialog('close');
                }
            }
        });
}

в моей функции загрузки:

createDialog(".formresponse");
$(".contact_submit").click(function(){
    formSubmit('.formresponse', '.submitform', function(){
        $('.formresponse').dialog('open');
    });
});

person theosoft    schedule 21.09.2009    source источник


Ответы (2)


Является ли .contact_submit ‹input type="submit">? Я думаю, может быть, при нажатии он отправляется дважды, один раз с помощью обычных средств и один раз с помощью ajax. Попробуйте вместо этого использовать <input type="button"> и посмотрите, есть ли у вас по-прежнему 2 диалоговых окна.

person Electronic Zebra    schedule 21.09.2009

На самом деле, кто-то из группы Google JQuery-Ui указал мне правильное направление. У меня было два div с одинаковым именем класса .formresponse на моей странице.

Я переместил его из цикла php while, чтобы он был на странице только один раз, и теперь он работает.

Дурак я.

О, и это было только один раз, я проверил это в Firebug.

Jquery отлично справляется с возвратом false на кнопки.

person theosoft    schedule 23.09.2009