首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery & ajax.beginform

jquery & ajax.beginform
EN

Stack Overflow用户
提问于 2009-07-22 07:05:52
回答 1查看 2.1K关注 0票数 2

在使用Ajax.Beginform验证插件时提交JQuery并不会停止提交。是否有一个很好的方法来确保Ajax.Beginform没有提交?

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

按照下面的要求,我添加了一些示例代码

控制器代码

代码语言:javascript
复制
            if (Request.IsAjaxRequest())
            {
                return Content("/receipt/latest");
            }
            else
            {
                return RedirectToAction("latest", "receipt");
            }

我用它来返回这个js函数的字符串:-

JS

代码语言:javascript
复制
            function manageResponse(responseText, statusText) {
                if (responseText.toString().substr(0, 1) == '/') {
                    window.location = responseText;
                }
                else {
                    $("#formResult").text(responseText);
                }
            }

我使用这些选项将响应与JQuery表单插件联系起来。

代码语言:javascript
复制
            var options = {
                beforeSubmit: function() {
                    return $('#login').validate().form();
                },
                success: manageResponse
            };

我觉得有点“讨厌”,但很管用。我在问有没有更好的办法?

抢夺

EN

回答 1

Stack Overflow用户

发布于 2009-07-22 08:10:44

在我看来,这并不是太刻薄,但他们认为我不是世界上最优雅的人。我认为我唯一能做的就是把它设置成这样:

代码语言:javascript
复制
$('#login').validate(); // setup form to use validation plugin 

var options = {
    beforeSubmit: function() {
        return $('#login').valid(); // check form is valid
    },
    success: manageResponse
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1163537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档