多个异步Html.BeginForm的脚本

时间:2015-07-09 11:07:58

标签: javascript c# jquery ajax asp.net-mvc

我准备了一个包含产品及其详细信息的页面。按下按钮时会显示详细信息。使用foreach循环我生成了包含产品的表和指向详细信息的链接。 不幸的是,只有顶级形式异步工作。其他人打开partialView。如何使脚本适用于所有表单?

<table>
<thead>
<tr>
    <th>
      IdPromo
    </th>
    <th>
      Name
    </th>
  </tr>
</thead>
<tbody>
@foreach (var item in Model.crosspromocje)
{ 
  <tr>
    <td>
      @using (Html.BeginForm("Details", "promo", FormMethod.Post, new { id = "my-form"} ))
       { 
       @Html.Hidden("IdPromo ", item.IdPromo)
        <input type="submit" value="@item.IdPromo" />
       }
    </td>
  </tr>
}
</tbody>
</table>    <div id="result"></div>
@section scripts{
    <script type="text/javascript">
        $(function () { 
            $("#my-form").on("submit", function (e) {
                e.preventDefault();
                $.ajax(
                    {
                        url: this.action,
                        type: this.method,
                        data: $(this).serialize(),
                        success: function (data) {
                            $("#result").html(data);
                        }
                    });
            });
        });
    </script>
}

`

1 个答案:

答案 0 :(得分:0)

我找到了答案。有必要将id更改为类。 从:

@using (Html.BeginForm("Details", "xp", FormMethod.Post, new { id = "my-form}))
$("#my-form").on("submit", function (e)

要:

@using (Html.BeginForm("Details", "xp", FormMethod.Post, new { @class = "my-form" }))
$(".my-form").on("submit", function (e)