ASP.NET MVC Как закрыть fancybox на форме сообщения - PullRequest
0 голосов
/ 30 марта 2012

У меня есть всплывающее окно с формой внутри. Когда форма размещена, все работает нормально, НО после публикации она перенаправляется в представление и показывает ее на полной странице.

Я хочу, чтобы всплывающее окно было опубликовано, а причудливая рамка закрыта.

Вот мой код

Главная страница Откроется всплывающее окно

<%: Html.ActionLink("Add Person Box", "AddTest", Nothing, New With {.class = "fbox"})%>

    <script type="text/javascript">
        $(document).ready(function () {

            $(".fbox").fancybox();

        });
    </script>

Всплывающая страница

<% Using Html.BeginForm() %>
    <input type="submit" value="Save Person" />

<% End Using %>

Опять же, это хорошо, но перенаправляет себя в полноэкранном режиме. я просто хочу, чтобы форма была опубликована, а необычная коробка закрыта.

Ответы [ 4 ]

0 голосов
/ 26 апреля 2012

Я бы использовал плагин JQuery Form. Захватите форму и сделайте запрос ajax. После того, как запрос завершен, вы можете просто закрыть причудливый блок из функции обратного вызова (если ошибок не было).

http://jquery.malsup.com/form/

// bind to the form's submit event 
$('#myForm2').submit(function() { 
    // inside event callbacks 'this' is the DOM element so we first 
    // wrap it in a jQuery object and then invoke ajaxSubmit 
    $(this).ajaxSubmit({
       success : function (result) { $.fancybox.close() }
    }); 

    // !!! Important !!! 
    // always return false to prevent standard browser submit and page navigation 
    return false; 
}); 
0 голосов
/ 30 марта 2012

Чтобы избежать перенаправления, вам нужно сделать его веб-методом.

0 голосов
/ 30 марта 2012

Используйте jQuery ajax для публикации содержимого всплывающей формы.Как только вы получите ответ от метода действия вашего сервера, закройте его с помощью JavaScript.

0 голосов
/ 30 марта 2012

попробуйте добавить атрибут onsubmit="javascript:parent.jQuery.fancybox.close();"" в тег form

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...