不引人注意地提交两次Ajax表单

时间:2015-05-26 15:16:41

标签: javascript jquery ajax asp.net-mvc unobtrusive-javascript

我已经看到了类似这样的多个问题,说不引人注意被引用了两次并且删除了一个修复了问题,但我已经检查过,它似乎只引用了一次。当我删除单个引用时,我的表单应该提交一次,但我不能利用"内联"我试图利用不引人注目的功能。

当我查看我的HTML时,这些是包含的.js文件,不确定是否与另一个库存在冲突?我尝试一次删除一个,但它似乎没有解决我的问题,只有当我删除jquery.unobtrusive-ajax.min.js时表单提交一次,但我需要它!

<script src="/assets/js/jquery-1.10.2.js">
<script src="/assets/js/jquery.mask.min.js">
<script src="/assets/js/jquery-ui-1.10.3.custom.min.js">
<script src="/assets/js/jquery.validate.js">
<script src="/assets/js/jquery.validate.unobtrusive.js">
<script src="/assets/js/jquery.unobtrusive-ajax.min.js">
<script src="/assets/js/zCustomAttributeValidation.js">
<script src="/assets/js/nojs.js">
<script src="/assets/js/bootstrap.js">
<script src="/assets/js/respond.js">
<script src="/assets/js/global.js">
<script src="/assets/js/spinner.js">
<script src="/assets/js/toastr.js">
<script src="/assets/js/systemx.js">
<script src="/assets/js/systemx.widgets.js">

我们可能有的其他事情,这是我的形式:

@using (noJs ? Html.BeginForm("MyAction", "MyController", new MyModel() { ItemID = myVal, AsyncUpdateID = string.Empty, RawReturnUrl = Request.RawUrl }.GetRouteValues(), FormMethod.Post) : Ajax.BeginForm("MyAction", "MyController", new MyModel() { ItemID = myVal, AsyncUpdateID = string.Empty, RawReturnUrl = Request.RawUrl }.GetRouteValues(), new AjaxOptions() { HttpMethod = "POST", UpdateTargetId = "item-" + myVal.ToString(), OnBegin = "ShowBusyIndicator('item-" + myVal.ToString() + "')" }))
    {
        @Html.AntiForgeryToken()
        <div class="float-left margin-rt-5">
            <input id="myButton" type="submit" class="btn btn-default" value="@HttpUtility.HtmlDecode("Submit &raquo;")" />
        </div>
    }

1 个答案:

答案 0 :(得分:3)

原来这是我看到其他人都有的问题。我添加两次不引人注意的东西,我想是因为它只是在HTML的那一部分中列出了我没有这样做但是当我看一下整个生成的HTML时它就有两次了。