Asp.net mvc 如何在ajax表单提交事件之前清除文本框文本?
我想在ajax发布后清除文本框Asp.net mvc 如何在ajax表单提交事件之前清除文本框文本?,asp.net-mvc,jquery,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;">
<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>
有没有办法做到这一点。您似乎发送了两个AJAX请求。一个由Ajax.BeginForm帮助程序发送,另一个在自定义.submit处理程序中。您可以在AjaxOptions中指定AJAX请求完成后将执行的回调:
@using (Ajax.BeginForm("_MessagesPartial", "Chat", new AjaxOptions { UpdateTargetId = Model.room_id.ToString(), OnSuccess = "onSuccess" }))
{
...
}
并清除此回调中的输入:
function onSuccess() {
$("#text_box_chat").val("");
}
您不需要像以前那样订阅表单的.submit事件并发送AJAX请求。这就是Ajax.BeginForm助手已经做过的事情。我通常使用Ajax函数。但无论如何,我相信你问题的关键是你没有成功的功能。试试这样的
$.ajax({
url: 'yourfile.php',
type: 'POST',
success: function() {
$('#myform input').val("");
}
});
很高兴我能帮忙。你可以考虑点击旁边的滴答声,如果它帮助你解决这个问题。
$.ajax({
url: 'yourfile.php',
type: 'POST',
success: function() {
$('#myform input').val("");
}
});