1

この呼び出しを使用して、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();

何もしません。

編集: #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;
});

ボタンも以前の ajax 呼び出しから来ているため、そこでライブを使用します。

私は何か間違ったことをしていますか?ウィンドウのサイズを変更するための独自の機能なしでこれを機能させる方法はありますか?

アラン

4

2 に答える 2

1

ajax呼び出しで次のエラー関数を試してください。


error : function(){
                $("#errors").html("<p>Fail!</p>");
                $(".simplemodal-container").css("height", "auto");
        }
于 2009-12-20T17:14:15.560 に答える
1

まず (そしてこれはあなたの問題の根源ではありません):'True''true'は文字列であり、'False''false'です。これらすべての文字列は、ブール コンテキストでは「真」です。

2番目:simplemodal 1.3.3のソースをざっと見てみるとautoResize、ブラウザウィンドウのサイズが変更されたときにのみ作動することがわかります.これはあなたの場合ではありません.

于 2009-12-20T16:32:24.300 に答える