jquery验证&;ajax.beginform

jquery验证&;ajax.beginform,jquery,ajax,jquery-validate,Jquery,Ajax,Jquery Validate,在使用JQuery验证插件时提交Ajax.Beginform不会停止提交。有没有一种好方法可以确保不提交Ajax.Beginform 我还尝试使用JQuery表单插件来“ajaxify”我的表单。这是一种享受。但是,我的表单是一个登录表单,如果用户成功登录,我希望它们被重定向。我在Ajax.BeginForm中通过返回一个JavaScript对象来实现这一点,但是使用JQuery.Form.js的相同代码只是显示JavaScript,而不是执行它。有没有办法处理这个问题 [根据下面的要求,我添加

在使用JQuery验证插件时提交Ajax.Beginform不会停止提交。有没有一种好方法可以确保不提交Ajax.Beginform

我还尝试使用JQuery表单插件来“ajaxify”我的表单。这是一种享受。但是,我的表单是一个登录表单,如果用户成功登录,我希望它们被重定向。我在Ajax.BeginForm中通过返回一个JavaScript对象来实现这一点,但是使用JQuery.Form.js的相同代码只是显示JavaScript,而不是执行它。有没有办法处理这个问题

[根据下面的要求,我添加了一些示例代码]

控制器代码

            if (Request.IsAjaxRequest())
            {
                return Content("/receipt/latest");
            }
            else
            {
                return RedirectToAction("latest", "receipt");
            }
我已经使用它向这个js函数返回了一个字符串:-

JS

            function manageResponse(responseText, statusText) {
                if (responseText.toString().substr(0, 1) == '/') {
                    window.location = responseText;
                }
                else {
                    $("#formResult").text(responseText);
                }
            }
我使用这些选项将响应与JQuery表单插件联系起来

            var options = {
                beforeSubmit: function() {
                    return $('#login').validate().form();
                },
                success: manageResponse
            };
对我来说,这感觉有点“不舒服”,但它确实有效。我在问是否有更好的办法


罗伯

这对我来说似乎不太老套,但他们认为我不是世界上最优雅的人。我认为我唯一能做的不同的事情是这样设置:

$('#login').validate(); // setup form to use validation plugin 

var options = {
    beforeSubmit: function() {
        return $('#login').valid(); // check form is valid
    },
    success: manageResponse
};
这可能是解决办法