【问题标题】:Resume form submission after $.ajax call$.ajax 调用后恢复表单提交
【发布时间】:2013-03-03 20:05:11
【问题描述】:

如何在 jQuery ajax 调用后恢复/停止表单提交? 我有 MVC 应用程序,我正在调用json 的操作,如果结果为假,我想停止表单提交,如果结果为真,我想恢复。

Jquery:

   $("#formElem").submit(function (e) {
        e.preventDefault();
        $.ajax({
            url: '@Url.Action("Check", "TimeRanges")',
            type: "GET",
            data: {startRange: $('#SelectedStartTimeRange').val() , endRange: $('#SelectedEndTimeRange').val()},
            aync: false,
            dataType: 'json',
            success: function (data) {
                if(data == false) {
                    $("#rangeexist").html('Error');
                    return false;
                } else {
                    return true;
                }
            }
        });
    });

动作

public JsonResult Check(string startRange, string endRange)
{
    var result = false;
    if (!String.IsNullOrEmpty(startRange) && !String.IsNullOrEmpty(endRange))
    {
        TimeSpan spanStart;
        TimeSpan.TryParse(startRange, out spanStart);

        TimeSpan spanEnd;
        TimeSpan.TryParse(endRange, out spanEnd);

        var timeRangExisted = _repo.All().Where(x => x.TimeFrom.Equals(spanStart) && x.TimeTo.Equals(spanEnd)).ToList();
        if (!timeRangExisted.Any())
            result = true;
    }

    return Json(result, JsonRequestBehavior.AllowGet);
}

【问题讨论】:

  • 如果结果为真或什至为假,则表格已经提交。成功:表示表单已提交并返回结果。

标签: c# asp.net-mvc asp.net-mvc-3 jquery


【解决方案1】:
var ajaxSent = false;
$("#formElem").submit(function (e) {
    if ( !ajaxSent )
     e.preventDefault();
    $.ajax({
        url: '@Url.Action("Check", "TimeRanges")',
        type: "GET",
        data: {startRange: $('#SelectedStartTimeRange').val() , endRange: $('#SelectedEndTimeRange').val()},
        aync: false,
        dataType: 'json',
        success: function (data) {
            if(data == false) {
                $("#rangeexist").html('Error');
                ajaxSent = true;
                $("#formElem").submit(); // something like that ....
                return false;
            } else {
                return true;
            }
        }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    相关资源
    最近更新 更多