Как я могу очистить текстовое поле перед отправкой события формы ajax? - PullRequest
0 голосов
/ 29 марта 2012

Я хочу очистить текстовое поле после публикации 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 ]

0 голосов
/ 29 марта 2012

Я обычно использую функцию Ajax.Но в любом случае я считаю, что ключ к вашей проблеме в том, что у вас нет функции успеха.Попробуйте что-то вроде этого.

 $.ajax({
        url: 'yourfile.php',
        type: 'POST',
        success: function() {

          $('#myform input').val("");

        }
 }); 
0 голосов
/ 29 марта 2012

Похоже, вы отправляете 2 AJAX-запроса.Один отправляется помощником Ajax.BeginForm, а другой - в ваш собственный обработчик .submit.Вы можете указать обратный вызов, который будет выполняться после завершения AJAX-запроса, в AjaxOptions:

@using (Ajax.BeginForm("_MessagesPartial", "Chat", new AjaxOptions { UpdateTargetId = Model.room_id.ToString(), OnSuccess = "onSuccess" }))
{
    ...
}

и очистить ввод внутри этого обратного вызова:

function onSuccess() {
    $("#text_box_chat").val("");    
}

Вам не нужноподпишитесь на событие .submit формы, как вы, и отправьте запрос AJAX.Это то, что делает помощник Ajax.BeginForm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...