Проблема с простой модальной jQuery - PullRequest
1 голос
/ 20 декабря 2009

Я использую этот вызов для создания модального окна, используя simplemodal (http://www.ericmmartin.com/projects/simplemodal/):

$.get("openform/", function(data){
    $.modal(data, {
        closeHTML:'<a class="modalCloseImg simplemodal-close" title="Close"/>',
        minHeight:400,
        autoResize:'True',
        });
    });

Вывод html довольно прост. Среди данных есть пустой div -

<div id="errors"></div>

Проблема в том, что кнопка той же формы выполняет ajax-вызов и заполняет #errors с ошибочными сообщениями, а оболочка simplemodal не выполняет autoResize. Даже звонит

$.modal.resize();

ничего не делает.

Edit: Вызов, заполняющий #errors, таков:

$("#addk").live("click", function(event){
    $.ajax({
        type: "POST",
        url: "savenow/",
        data: $("#form").serialize(), 
        success: function(msg){
            $("#errors").html(msg);
            $.modal.resize();
        },
        error : function(){
            $("#errors").html(<p>Fail!</p>);
        }
    });
    return false;
});

Использование live там, потому что кнопка тоже происходит от предыдущего вызова ajax.

Я что-то не так делаю? Есть ли способ заставить это работать без моей собственной функции изменения размера окна?

Alan

Ответы [ 2 ]

1 голос
/ 20 декабря 2009

попробуйте следующую функцию ошибки в вызове ajax:


error : function(){
                $("#errors").html("<p>Fail!</p>");
                $(".simplemodal-container").css("height", "auto");
        }
1 голос
/ 20 декабря 2009

сначала (и это не корень ваших проблем): 'True' и 'true' - это строки, как 'False' и 'false'. Все эти строки "истинны" в логических контекстах.

секунда: быстрый взгляд на источник simplemodal 1.3.3 показывает, что autoResize срабатывает только при изменении размера окна браузера, что совсем не ваше дело.

...