【问题标题】:How to get event between Ajax.BeginForm and OnSuccess?如何在 Ajax.BeginForm 和 OnSuccess 之间获取事件?
【发布时间】:2018-02-11 09:42:02
【问题描述】:

我有一个表单,我使用Ajax.BeginForm 提交。我想做以下事情:

  1. 提交包含所有数据的表单(使用Ajax.BeginForm
  2. 在我们等待控制器时,做一些工作 - 包括截断我的文本区域
  3. 控制器完成后(使用OnSuccess),做更多的事情

但是,虽然 1) 和 3) 可以完美运行,但我不知道通过哪种方式访问​​ #2。我曾尝试在表单上使用 JavaScript 事件 submit,但似乎这个事件之前发生过,所以如果我清空我的 textarea 控制器永远不会看到这个填充值。

我的剃刀:

    @using (Ajax.BeginForm("CreateNotification", "Task",null, new AjaxOptions() {HttpMethod = "POST", OnSuccess= "newMessage" },new {id="conv_form"}))
    {
        @Html.HiddenFor(c => c.ConversationId)

        <div class="form-group">
            @Html.TextAreaFor(c => c.New_Message, new {@class = "form-control conversation-box"})
        </div>

        <input type="submit" value="Send message" id="conversation_message_submit" class="btn btn-link pull-right" style="color: black; padding-right: 0px; font-size: 12pt;"/>

    }

我也有我的 jQuery:

<script>
    $(document).ready(function() {
        /// Here I plan to truncate my textarea + other stuff
        $('#conv_form').submit(function () {
            console.log('conv_form submit');
        });
    });

    function newMessage(data) {
        console.log('newmessage fired');

    }
</script>

所以我的挑战是,对于我的submit 事件,如果我操纵这些字段,这将改变我们发送给控制器的内容。我想访问发送到控制器和OnSuccess 之间的事件。

【问题讨论】:

标签: jquery ajax asp.net-mvc razor ajaxform


【解决方案1】:

您可以使用ajaxStart 执行步骤 2,如下所示:

$(document).ajaxStart(function() {
   // do step 2
});

ajaxStart() 方法指定在 AJAX 请求启动时要运行的函数。从jQuery version 1.9 开始,此方法只能附加到document。更多信息请查看this

【讨论】:

    【解决方案2】:

    你可以试试ajaxStart

     $('#conv_form').submit(function () {
            console.log('conv_form submit');
        });
    }).ajaxStart(function(){
          //DoYourStuff
        })
        .ajaxStop(function(){
            //Stop Your Stuff
        });
    

    【讨论】:

      猜你喜欢
      • 2011-07-27
      • 1970-01-01
      • 2011-11-09
      • 2014-12-09
      • 1970-01-01
      • 2023-04-08
      • 2018-09-21
      • 1970-01-01
      • 2018-08-03
      相关资源
      最近更新 更多