0

次の問題があります。外部スクリプトを含むカラーボックスを開きます。

開いたスクリプトのフィールドを編集し、データベースに入力を保存するボタンを押します。これは AJAX で行われます。AJAX が正常に戻った後、メイン Web ページにいくつかのコンテンツを書き込み、カラーボックスを閉じたいと思います。しかし、最後のことは起こりません。

これは私のスクリプトです

$.ajax({
            type: "POST",  
            url: "./editfield_AJAX.php",
            data: {"q_table": q_table, "q_field": q_field, "q_idfield": q_idfield, "q_id": q_id, "waarde":$waarde},
            dataType: "text",
            success:function(data){

                window.parent.$("#" + q_table+q_field).html(data);

                //location.reload(true);
                // Reload the parent and close Cbox
                window.parent.$.colorbox.close();


        }
    });

location.reload(true) コマンドを無効にした場合にのみ、カラーボックスが閉じます。しかし、親がリロードされるため、それは私が望むものではありません。

ここで多くのソリューションを読みましたが、なぜ機能しないのかわかりません。

誰かが私を助けてくれることを願っています。

ありがとう、フランク

4

1 に答える 1

0

onClosedイベントハンドラーをカラーボックスの初期化コードに追加して、location.reload(true);そこに呼び出しを移動しようとしましたか:

$('selector').colorbox({
    onClosed: function() {
        location.reload(true);
    }
});

このように$.colorbox.close();して ajax の成功を呼び出し、カラーボックスが閉じた後にのみリロードを開始する必要があります。

于 2012-09-17T15:59:57.680 に答える