Ajax多种形式无法正常工作

时间:2015-05-03 22:48:08

标签: asp.net ajax forms

    <div class="row">
                        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
                            <div id="com-@Model.demot.DemotId">
                                @Html.Partial("_Comments", Model.demot.Comments)
                            </div>

                            @using (Html.BeginForm("AddComments", "Demot", new { DemotId = @Model.demot.DemotId}, FormMethod.Post, new { data_ajax = true, data_ajax_target = "com-" + @Model.demot.DemotId }))
                            {
                                @Html.AntiForgeryToken();
                                <div class="error-summary-centred">
                                    @Html.ValidationSummary()
                                </div>

                                <div id="add">
                                    <table id="albumedit-address-table">
                                        <tr>
                                            <td>@Html.TextBoxFor(o => o.comment, new { @class = "comment", placeholder = "Comment", value = "" })</td>
                                            <td>@Html.ValidationMessageFor(o => o.comment)</td>
                                        </tr>
                                    </table>
                                </div>
                            }
                        </div>
                    </div>

<script>
        $(function () {
            $('form').on('submit', function (e) {

                var $form = $(this);
                var $target = $form.attr('data-ajax-target');
                $.ajax({
                    url: $(this).attr("action"),
                    type: $(this).attr("method"),
                    data: $(this).serialize(),
                    success: function (result) {
                        var $newContent = $(result);
                        $($('#' + $target)).replaceWith($newContent);
                        $newContent.effect("highlight");

                        $form.each(function(){
                            this.reset();
                        });
                    }
                });
                e.preventDefault();

            });
        });
    </script>

我在一个页面中有很多表单。我的脚本工作但只有一次,后续请求发送到服务器但不再有效添加结果。 我想添加注释ajax方法一直在工作。 请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以尝试创建一个在创建事件时接收参数或ID的函数。

例如:

<script>
$(function() {
    $('form').on('submit', function(e) {
        var $form = $(this) functionAJAX(form)
    })
});

functionAJAX() { /*His Code here*/ }
</script>