我正在进行一个AJAX POST调用,除了一件事情它工作正常。在我提交之后,我收到了成功/失败消息,但是当我再次点击提交时,它会显示另一个成功/失败消息而不清除第一个消息。它不断添加一个新的。如何让每个提交只显示一个?
var pageUrl = '<%=ResolveUrl("~/Default.aspx")%>'
$(".ap-webmethod").click(function () {
if ($('#aspnetForm').valid()) {
$.ajax({
type: "POST",
url: pageUrl + '/ProcessADRequest',
data: '{USER: "' + $("[id$='_userName']").text() + '", SSNID: "' + $("[id$='_empLast4Txt']").val() + '", DOB: "' + $("[id$='_empDobTxt']").val() + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) { $('.post-msg').append("<label>" + response.d + "</label>"); },
failure: function (response) { $('.post-msg').append("<label>" + response.d + "</label>"); }
});
return false;
}
});
答案 0 :(得分:0)
您正在使用append(...)
,因为您需要使用val(...)
答案 1 :(得分:0)
您必须先使用$('.post-msg').remove()
删除旧邮件。我会做这样的事情:
$.ajax({
type: "POST",
url: pageUrl + '/ProcessADRequest',
data: '{USER: "' + $("[id$='_userName']").text() + '", SSNID: "' + $("[id$='_empLast4Txt']").val() + '", DOB: "' + $("[id$='_empDobTxt']").val() + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response)
{
$('.post-msg').remove('.msg');
$('.post-msg').append("<label class='msg'>" + response.d + "</label>");
},
failure: function (response)
{
$('.post-msg').remove('.msg');
$('.post-msg').append("<label class='msg'>" + response.d + "</label>");
}
});