0

編集オプションのあるグリッドがあり、編集ボタンをクリックすると、編集ページにリダイレクトする必要があります。要件は、背景 (前のページ) がグレー表示されたポップアップとしてこの編集ページを取得することです。

モーダルポップアップを試しましたが、コントロールは別のページにあります。

パネルと Iframe でモーダル ポップアップを試してみました: これは機能しますが、別の問題が発生します。「保存」または「キャンセル」ボタンをクリックしてページを閉じる必要があります。これらのコントロールは編集ページにあり、前のページにはありません。ページに何か助けがあれば幸いです。

ありがとうラジャット

4

5 に答える 5

1

単なるアイデアですが、jqueryの「contents()」関数を使用するのはどうでしょうか。

親ページからiframe内の要素を探す間隔を設定できます。(.netを使用しているので、iframeのページにポストバック時に表示されるようにすることができます)。

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="admin_test" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>    
    <script>
        $(function () {

            var watchForClose = setInterval(function () {
                if ($('#testIframe').contents().find('#closeModal').length > 0) {
                    clearInterval(watchForClose);
                    /* call function to close modal here..*/
                    alert('Close modal');
                };
            }, 100);

        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <iframe id="testIframe" src="Default.aspx" width="300" height="300"></iframe>
    </div>
    </form>
</body>
</html>

上記は、IDが「closeModal」のiframeページ内の要素を探しています。その要素が表示されたら、モーダルのクローズ関数を呼び出すことができます(アラートを呼び出しに置き換えるだけです)。

于 2011-08-04T13:12:24.010 に答える