MVC表单提交从另一个部分视图执行操作

时间:2017-08-15 18:17:46

标签: jquery html asp.net-mvc form-submit partial-views

我正在使用MVC 5。我有一个View填充了两个Partial view。一个是Header,另一个是Body

我在header.schtml

中有这个
using (Html.BeginForm("Login", "Home"))
{
    <div class="DvBotonLogM" >
        <input type="submit" value="Logi IN" title="Log" class="btn2 btn-primary AlinearBoton" />
    </div>
 }

我在Body.cshtml

中有这个
<form action="@Url.Action("Create", "Users")" id="formCreate" enctype="multipart/form-data" method="post">
    @Html.AntiForgeryToken()
    <div class="dvUploadCaptcha">
        <div class="dvRegistroAct">
            <input type="submit" value="Grabar" class="btn btn-primary" />
        </div>
    </div>
</form>

当我汇总formCreate时,我是通过Jquery进行汇总的。

$('formCreate').submit(function (event) {
    event.preventDefault();
    if ($(this).valid()) {
        var formdata = new FormData($(this).get(0));
        $.ajax({
            url: this.action,
            type: this.method,
            data: formdata,
            processData: false,
            contentType: false,
            beforeSend: function () {
                if (!validarTerms())
                    return false;
            },
            success: function (result) {
                processResponse(result);
            },
            complete: function () {

            }
        });
    }
    return false;
});

我遇到的问题是当我提交标题视图时,它会调用正文提交。

如何阻止这样做,只需从标题视图中调用Sumbit操作?

1 个答案:

答案 0 :(得分:1)

在容器中添加表单

<div class="myContainer">

 <form action="@Url.Action("Create", "Users")" id="formCreate" enctype="multipart/form-data" method="post">
                @Html.AntiForgeryToken()

                <div class="dvUploadCaptcha">
                    <div class="dvRegistroAct">
                        <input type="submit" value="Grabar" class="btn btn-primary" />
                    </div>
                </div>
 </form>

</div>

并在脚本中:

 $('.myContainer #formCreate').submit(function (event) {

            });

对其他表单执行相同操作,并可能将脚本代码转换为函数。