Изменение размера модального окна FancyBox при динамическом добавлении новых данных - PullRequest
1 голос
/ 29 января 2012

У меня есть форма на следующей странице:

http://mmicet.yazminmedia.com/qseries

(нажмите кнопку «Держать меня в курсе о Q» внизу.)

Это форма, которая использует frmValidator: http://www.javascript -coder.com / .Это в основном та же самая форма, которую я успешно использую на странице контактов.

Я прочитал на странице FancyBox API, что есть функция изменения размера, которая изменяет размер модальной области при добавлении новых данных.Тем не менее, модальный не меняет размеры.Вместо этого моя форма отталкивается, а нижняя часть выталкивается из поля зрения.(Поведение можно дублировать, просто отправив форму, не вводя в нее никакой информации.)

Вот параметры, которые я установил для модального режима:

$("#qs_button").fancybox({
    'titleShow'     : false,
    'scrolling'     : 'no',
    'autoDimensions'    : false,
    'autoScale'     : false,
    'width'         : 600,
    'height'        : 870,
    'showCloseButton': true,
    'onClosed'      : function() {
        $("#login_error").hide();
    }       
});

Я запускаю изменение размерафункция при отправке формы:

$("#qseries_form").bind("submit", function() {

    $.fancybox.resize();

    $.ajax({
        type        : "POST",
        cache       : false,
        url     : "/qseries.php",
        data        : $(this).serializeArray(),
        success: function(data) {
            $.fancybox(data);
        }
    });

    return false;
}); 

У кого-нибудь есть идеи, почему не работает изменение размера?

Спасибо!

Ответы [ 2 ]

1 голос
/ 29 января 2012

Просто предположение, но не следует ли изменить размер Fancybox после данных, помещенных туда?Что-то вроде:

$("#qseries_form").bind("submit", function() {

    $.ajax({
        type        : "POST",
        cache       : false,
        url     : "/qseries.php",
        data        : $(this).serializeArray(),
        success: function(data) {

            $.fancybox(data);

            // resize after data's updated...
            $.fancybox.resize();
        }
    });

    return false;
});

Надеюсь, я здесь не совсем не в себе!

0 голосов
/ 29 января 2012

Просто попробуйте с этим, потому что это работало в одном из моих недавних проектов, где мне приходилось увеличивать / уменьшать размер окна по щелчку переключателя.

$ ('# fancybox-content'). Css ('высота', '253px');

...