Как отправить форму в диалоге jquery ui и показать ее ответ - PullRequest
4 голосов
/ 23 ноября 2010

Привет Я использую JQuery UI диалог и пытаюсь отправить форму с помощью AJAX и отображать его ответ. До диалогового окна формы и ajax запрашивают его работу нормально, но не знают, как отобразить его ответ в том же диалоге. Любое предложение поможет мне.

Ответы [ 2 ]

5 голосов
/ 23 ноября 2010

Предположим, у вас есть следующая разметка

<div id="__DialogPanel" style="display:none" title=""></div>

С помощью этого кода вы устанавливаете диалог

$("#__DialogPanel").dialog({
    autoOpen: false,
    resizable: false,
    position: 'center',
    stack: true,
    height: 'auto',
    width: 'auto',
    modal: true
});

С помощью этого кода вы показываете диалог и включаете результаты вызова ajax

$.ajax({
    type: "get",
    dataType: "html",
    url: 'some/url',
    data: {},
    success: function(response) {
        $("#__DialogPanel").empty().html(response).dialog('open');
    }
});

С помощью этого кода вы отправляете форму в диалоговом окне, а затем закрываете ее, если все в порядке, или снова отображаете форму, если есть ошибки

$.ajax({
    type: 'post',
    dataType: 'html',
    url: '/someother/url',
    async: false,
    data: $("#myform").serialize(),
    success: function (response, status, xml) {
        //Check for error here
        if (error) {
            $("#myform").parent().html('').html(response);
        }
        else {
            $("#__DialogPanel").dialog('close');
        }
    }
});

Надеюсь, это поможет!

0 голосов
/ 23 ноября 2010

Полагаю, вы открываете диалог так:

$.post('xyz.htm', function(data) { $('#mydialog .mytarget').html(data).slideDown(); });

Хитрость заключается в том, чтобы использовать функцию обратного вызова (которая получает в качестве параметра ответ) и выгружать ответ в нужный элемент.

...