Закрытие iframe Colorbox кнопкой .Net submit - PullRequest
1 голос
/ 11 мая 2011

У меня есть простая форма входа в систему для ссылки на colorbox и открытия в iframe.

<script>
    $(document).ready(function () {

        $(".logincb").colorbox({iframe:true, innerWidth:240, innerHeight:200});

    });
</script>

<li><a href="/login/login.aspx" class="logincb">login</a></li>

Проблема, с которой я столкнулся, заключается в том, что, как только пользователь правильно ввел туда свои данные для входа в систему в ifrmae, которая проверяется с помощью сообщения в коде позади, как я могу перенаправить родительскую страницу и закрыть фрейм?

Ответы [ 2 ]

1 голос
/ 13 мая 2011

С использованием кнопок .Net в форме все становится немного странно, в конце концов я добавил следующую функцию на странице

  <script language="javascript" type="text/javascript">

        function closePage() 
        {
            parent.$.fn.colorbox.close(); parent.location = '/support/marketing-media.aspx';
        }

</script>

, затем вызвал ее в коде кнопкисобытие с использованием менеджера ClientScript.

  if (!ClientScript.IsStartupScriptRegistered("alert"))
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(),"alert", "closePage();", true);
                }

На самом деле не фанат этого, как его уродливо, но это работает ..

0 голосов
/ 12 мая 2011

Используйте следующее для изменения местоположения родительской страницы:

parent.location.href = "http://newlocation.com";

iframe будет автоматически потерян при изменении родительского местоположения, поэтому нет необходимости удалять его. Но, если вы хотите закрыть colorbox перед изменением родительского местоположения, вы можете сделать это, привязав действие к событию cbox_closed. Пример:

parent.jQuery(document).bind('cbox_closed', function(){
    location.href = "http://newlocation.com";
});
...