2012-03-29 2 views
0

私は内部にフォームを持つfancyboxポップアップを持っています。フォームが投稿されると、それはすべて正常に動作しますが、投稿後はビューにリダイレクトされ、フルページに表示されます。ASP.NET MVCフォームポストでfancyboxを閉じるにはどうすればいいですか?

私が欲しいのは、ポップアップを投稿してファンシーボックスを閉じることです。

は、ここでこれはこれは罰金提出再び罰金ポップアップ

<%: 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 %> 

を開き、自分のコード

メインページですが、フルスクリーンモードでそれ自体にリダイレクトします。私はちょうどフォームが投稿され、空想のボックスが閉じられるようにしたい。リダイレクトを避けるために、あなたのformタグ

答えて

0

試して、あなたはそれのWebメソッドにする必要があります。

+0

私はそれを試してみましたが、フォームが提出していないとfancyboxはどちらか –

+0

任意の他のアイデアをクローズしないのですか? –

+0

編集した回答を表示 – JFK

0

に属性を追加することonsubmit="javascript:parent.jQuery.fancybox.close();""

0

jQuery ajaxを使用して、ポップアップフォームのコンテンツを投稿します。サーバーアクションメソッドからの応答を取得したら、javascriptで閉じます。

0

私はJQueryフォームプラグインを使用します。フォームをハイジャックして、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; 
}); 
関連する問題