2012-03-29 15 views
0

Ajaxの投稿後にテキストボックスをクリアしたい。テキストボックスのテキストをクリアする前にAjaxフォームを送信する

<div style="padding: 5px; background-color: Silver;"> 
    @using (Ajax.BeginForm("_MessagesPartial", "Chat", new AjaxOptions { UpdateTargetId = Model.room_id.ToString() })) 
    { 
     <div style="padding: 5px 15px 5px 5px;"> 
      @Html.TextBox("textbox_message", null, new { @class = "text_yorum", id = "text_box_chat" }) 
      @Html.Hidden("oda_id", Model.room_id) 
     </div> 
    } 
</div> 

<div id="@Model.room_id" style="height:400px;overflow-y:scroll;position: relative;"> 
    @Html.Action("_MessagesPartial", "Chat", new { room_id = Model.room_id }) 
</div> 

多くの例がありますが、動作しません。 私はすでにこのコードを使用していますが、速度が遅すぎます。

$("form").submit(function() { 
     $.get('@Url.Action("_MessagesPartial", "Chat", new { room_id = Model.room_id }) ', {}, function (view) { 
      $("#@Model.room_id").html(view); 
      $("#text_box_chat").val(""); 
     }); 
    }); 

これを実行する方法はありますか。

答えて

2

応答を待つ前にボックスをクリアするのはどうですか?

$("form").submit(function() { 
     setTimeout(function(){ 
     $("#text_box_chat").val(""); 
     }, 20); 
     $.get('@Url.Action("_MessagesPartial", "Chat", new { room_id = Model.room_id }) ', {}, function (view) { 
      $("#@Model.room_id").html(view); 
     }); 
    }); 
+0

このコードを使用する場合。提出する前にテキストボックスをクリアしてください。したがって、空のテキストボックスを送信してください。 –

+0

あなたは正しいです、私はタイムアウトを追加しました、これを試してください。 – Rodik

+0

が現在機能しています。どうもありがとう。私の解決策よりも速い。私は投票することができません。ごめんなさい :) –

関連する問題