ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-11-22 16:02:49  阅读:149  来源: 互联网

标签:jucheap form 验证 queue item Html var new


@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();
    });
}

 

标签:jucheap,form,验证,queue,item,Html,var,new
来源: https://www.cnblogs.com/duhl1024/p/11912084.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有