Jquery 如何在Ajax.BeginForm和OnSuccess之间获取事件?
我有一个表单,我使用Jquery 如何在Ajax.BeginForm和OnSuccess之间获取事件?,jquery,ajax,asp.net-mvc,razor,ajaxform,Jquery,Ajax,Asp.net Mvc,Razor,Ajaxform,我有一个表单,我使用Ajax.BeginForm提交它。我想做以下工作: 提交包含所有数据的表单(使用Ajax.BeginForm) 在等待控制器时,做一些工作,包括截断我的文本区域 完成控制器后(使用OnSuccess),再做一些事情 然而,虽然1)和3)工作得很好,但我不知道用哪种方式访问2。我曾尝试在表单上使用JavaScript事件submit,但似乎此事件以前发生过,因此如果我清空文本区域,控制器将永远不会看到此填充值 我的剃须刀: @using (Ajax.BeginForm
Ajax.BeginForm
提交它。我想做以下工作:
Ajax.BeginForm
)OnSuccess
),再做一些事情submit
,但似乎此事件以前发生过,因此如果我清空文本区域,控制器将永远不会看到此填充值
我的剃须刀:
@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;"/>
}
@使用(Ajax.BeginForm(“CreateNotification”,“Task”,null,new AjaxOptions(){HttpMethod=“POST”,OnSuccess=“newMessage”},new{id=“conv_form”}))
{
@Html.HiddenFor(c=>c.ConversationId)
@text区域(c=>c.New_消息,New{@class=“form control conversation box”})
}
我还有我的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>
$(文档).ready(函数(){
///在这里,我计划截断我的文本区域+其他内容
$('conv#u form')。提交(函数(){
console.log('conv_form submit');
});
});
函数newMessage(数据){
log('newmessagefired');
}
因此,我的挑战是,对于我的submit
事件,如果我操作字段,这将更改我们发送给控制器的内容。我想访问一个事件,该事件介于发送到控制器的内容和成功的事件之间
您可以尝试ajaxStart
$('#conv_form').submit(function () {
console.log('conv_form submit');
});
}).ajaxStart(function(){
//DoYourStuff
})
.ajaxStop(function(){
//Stop Your Stuff
});
您可以使用
ajaxStart
执行以下步骤2:
$(document).ajaxStart(function() {
// do step 2
});
ajaxStart()
方法指定AJAX请求启动时要运行的函数。从jQuery 1.9版开始
,此方法应仅附加到文档
。有关更多信息,请参阅。您是否尝试使用jQuery的ajaxStart()函数使用属性