在ajax表单提交事件之前清除文本框文本

时间:2012-03-29 13:55:32

标签: asp.net-mvc jquery

我希望在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("");
       });
   });

有没有办法做到这一点。

1 个答案:

答案 0 :(得分: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);
       });
   });