私はAjax.BeginForm
を使用して送信するフォームを持っています。私は、次の操作を行いたい:Ajax.BeginFormとOnSuccessの間でイベントを取得する方法は?
- すべてのデータは、我々は、コントローラを待っている間、いくつかの作業を行う
- (
Ajax.BeginForm
を使用して)でフォームを送信 - 私のテキストエリアを切り捨て含むを - た場合、コントローラを(
OnSuccess
を使用して)、もっと多くのものを実行してください。
しかし、1)と3)は完全に動作しますが、2番にアクセスする方法はわかりません。フォーム上でJavaScriptイベント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;"/>
}
私もしている私の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/en-us/library/system) .web.mvc.ajax.ajaxoptions.onbegin(v = 118).aspx)プロパティ –