我有一個表格,我使用Ajax.BeginForm
提交。我要做到以下幾點:如何在Ajax.BeginForm和OnSuccess之間獲取事件?
- 的所有數據(使用
Ajax.BeginForm
) - 雖然我們等待的控制器,做了一些工作,提交表單 - 包括截斷我的textarea
- 當控制器(使用
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的ajaxStart()函數https://api.jquery.com/ajaxStart/ – jyrkim
使用[AjaxOptions.OnBegin](https://msdn.microsoft.com/zh-cn/library/system .web.mvc.ajax.ajaxoptions.onbegin(v = vs.118).aspx)屬性 –