Submitting Form in PartialView in jQuery UI Dialog via Ajax only execs success the first time
===

I think I'm missing something simple, but I'm blinded by looking at the same code over and over and could use another set of eyes.

I have an MVC partial view that contains a Form.

    <div class="Clear"></div>
     <div class="OverFlow">
         @using (Html.BeginForm(null, null, FormMethod.Post, new {id = "formId"}))
         {
             <div class="ErrorBx1">@Html.GetData()</div>
             <table>
                 @Html.EditorFor(m => m.FormModel, "MyEditorTemplate") 
                 <tr>
                     <td colspan="2"></td>
                     <td><input type="image" src="@Images.ResolveDefault("btn-send.jpg")" alt="Send" class="Send" /></td>
                 </tr>
             </table>
         }
     </div>

This view also contains some Javascript

    <script type="text/javascript">
        $(function () {
            $('#formId').submit(function () {
                $.ajax({
                    cache: false,
                    url: this.action,
                    type: this.method,
                    data: $(this).serialize(),
                    success: function (res) {
                        if (res.success) {
                            alert("success");
                            closeDialog();
                            window.parent.specialFunction();
                        } else {
                            alert("not success");
                            $('#someElement').replaceWith(res);
                        }
                    }
                });
                return false;
            });
        });
    </script>

Here is the controller method that gets executed

    [HttpPost]
    public ActionResult Index(MyViewModel viewModel)
    {
        if (CheckSuccess())
        {
            return Json(new { success = true });
        }

        return ViewNoLayout("otherView", viewModel);
    }

This View gets loaded into a jQuery.UI dialog.  The first time the dialog is loaded, clicking the submit button on the form executes the success function correctly - The alert pops, the dialog is closed and the parent function is called.  If I popup the dialog again and click the submit button, the call goes to the server and processes correctly, but the page reloads and only displays the JSON string (no alert, etc...).  I'm assuming that there is some sort of client-side caching that I'm missing, or something equivalent.  Any ideas?