提交按钮不会做任何事情

时间:2016-01-07 16:08:48

标签: jquery asp.net-mvc

在完成表单后单击提交按钮时,它不会转到控制器发布方法,问题是由jQuery引起的,但我不知道为什么。一旦我删除脚本提交按钮工作。

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type='text/javascript'>
    $(document).ready(function () {

        $("#brand_Brand_ID").change(function (e) {
            e.preventDefault();
            // this will call when Brand Dropdown select change
            var brandID = parseInt($("#brand_Brand_ID").val());
            if (!isNaN(brandID)) {
                var ddModel = $("#Model_ID");
                ddModel.empty(); // this line is for clear all items from Model dropdown
                ddModel.append($("<option></option").val("").html("Select model"));
                // Here I will call Controller Action via Jquery to load Model for selected Brand
                $.ajax({
                    url: "@Url.Action("GetModels","ModelSpec")",
                    type: "GET",
                    data: { brandID: brandID },
                    dataType: "json",
                    success: function (data) {

                            $.each(data, function (i, val) {     
                                ddModel.append(
                                        $("<option></option>").val(val).html(val));           
                            });
                    },
                    error: function () {
                        alert("Fail");

                    }
                });

            }
        });
    });

</script>

和html部分&gt;

@using (Html.BeginForm("Create", "ModelSpec", FormMethod.Post)) {
@Html.ValidationSummary(true)
 ****Lots of textboxes etc here ****

 <input id="Add" type="submit" value="Add"><br />

  @Html.RouteLink("Continue", new { action = "Create", controller = "ModelSpec" })
  @Html.RouteLink("Back", new { action = "Create", controller = "Model"   })

}

1 个答案:

答案 0 :(得分:0)

如果您为#Add按钮单击事件调用preventDefault,则不会触发事件的默认操作,因此您将删除剃刀提交事件的绑定,该事件是剃刀格式的实际帖子。 如果你评论这一行         $(&#34; #Add&#34;)。on(&#34; click&#34;,function(e){             //e.preventDefault();         }); 并点击ctrl + F5清理浏览器缓存表单的帖子应该可以工作。