解决form提交验证queue出现多次请求的问题

@using System.Text
@using System.Web.Optimization
@using WarehouseManage.Model.Dto
@model Base_RegionDto
@{
    ViewBag.Title = "编辑区域信息";
    Layout = "~/Views/Shared/_Layout_Body.cshtml";

    var goodsTypelist = new List<SelectListItem>

{
new SelectListItem
{
Selected = true,
Text = "请选择",
Value = String.Empty
}
};
    var storeHourseList = new List<SelectListItem>
{
    new SelectListItem
{
Selected = true,
Text = "请选择",
Value = String.Empty
}
};
    var list = ViewBag.goodsTypeList as List<Base_GoodsTypeDto>;
    if (list?.Any() == true)
    {
        foreach (var item in list)
        {
            goodsTypelist.Add(
                new SelectListItem
                {
                    Text = item.Name,
                    Value = item.TypeID.ToString()
                });
        }
    }

    var list2 = ViewBag.storeHourseList as List<Base_StoreHouseDto>;
    if (list2?.Any() == true)
    {
        foreach (var item in list2)
        {
            storeHourseList.Add(
                new SelectListItem
                {
                    Text = item.Name,
                    Value = item.SID.ToString()
                });
        }
    }
}
@section StylesAfter{
    @Styles.Render("~/Template/Admin/jucheap/Css/SelectStyle")
    @Styles.Render("~/Template/Admin/jucheap/Css/Advance")
    @Styles.Render("~/Template/Admin/jucheap/Css/DataTable")
}
@section Scripts{
    @Scripts.Render("~/JS/Admin/jucheap/Select")
    @Scripts.Render("~/JS/Admin/jucheap/Advance")

    @Scripts.Render("~/JS/Admin/jucheap/DataTable")
    <script>
        $("#submitForm").validate({
            submitHandler: jucheap.buttonLoading,
            rules: {
                Name: {
                    required: true,
                }
            },
            messages: {
                Name: {
                    required: "请输入区域名称",
                },
            }
        });
    </script>
}
<div class="row">
    <div class="col-xs-12">
        <section class="panel">
            <header class="panel-heading">
                编辑区域信息
            </header>
            <div class="panel-body">
                <div class="form">
                    <form class="cmxform form-horizontal tasi-form" id="submitForm" method="POST" action="@Request.Url.PathAndQuery" novalidate="novalidate">
                        @Html.HiddenFor(item => item.RegionID, new { @class = "form-control" })

                        <div class="form-group ">
                            @Html.LabelFor(item => item.Name, new { @class = "control-label col-xs-2" })
                            <div class="col-xs-10">
                                @Html.TextBoxFor(item => item.Name, new { @class = "form-control" })
                            </div>
                        </div>
                        <div class="form-group">
                            @Html.LabelFor(item => item.TypeID, new { @class = "control-label col-xs-2" })
                            <div class="col-xs-10">
                                @Html.DropDownListFor(item => item.TypeID, goodsTypelist, null, new { @class = "form-control", name = "TypeID" })
                            </div>
                        </div>
                        <div class="form-group">
                            @Html.LabelFor(item => item.SID, new { @class = "control-label col-xs-2" })
                            <div class="col-xs-10">
                                @Html.DropDownListFor(item => item.SID, storeHourseList, null, new { @class = "form-control", name = "SpecsID" })
                            </div>
                        </div>

                        <div class="form-group ">
                            @Html.LabelFor(item => item.State, new { @class = "control-label col-xs-2" })
                            <div class="col-xs-10">
                                <select class="form-control select2" id="State" name="State">
                                    <option value="" name="State"></option>
                                    @{
                                        StringBuilder sb3 = new StringBuilder();
                                        sb3.AppendFormat("<option value=\"{0}\" name=\"State\">{1}</option>", 1, "正常");
                                        sb3.AppendFormat("<option value=\"{0}\" name=\"State\">{1}</option>", 0, "禁用");
                                    }
                                    @(new MvcHtmlString(sb3.ToString()));
                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-xs-offset-2 col-xs-10">
                                <button class="btn btn-success" type="submit">保存</button>
                               @* <button class="btn btn-default" type="button" onclick="jucheap.goback(this)">返回</button>*@
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </section>
    </div>
</div>
jucheap.buttonLoading = function (form) {
    $(form).find("button[type='submit']:first").queue(function () {
        //form.submit();
        var data = $(form).serializeArray()
        var url = $(form).attr("action");;
        $.ajax({
            url: url,
            type: 'post',
            data: data,
            dataType: 'json',
            //contentType: 'application/x-www-form-urlencoded',
            success: function (res) {

                if (res.flag) {
                    layer.msg("保存成功", { icon: 1, time: 1000 });
                    setTimeout(function () {
                        yui.layer_close3();
                    }, 500);
                    window.parent.$('#table_server').bootstrapTable('refresh');
                } else {
                    parent.layer.alert("保存失败:" + res.msg);
                }
            },
            error: function (e) {
                console.log(e);
            }
        });
        $(form).find("button[type='submit']:first").dequeue();
    });
}

 

posted @ 2019-11-22 15:58  一只java小菜鸡  阅读(287)  评论(0编辑  收藏  举报