0

我正在做一个 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;
            }
        });
4

2 回答 2

0

您在需要使用append(...)的地方使用val(...)

于 2012-08-01T21:17:37.557 回答
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>"); 
                }

            });
于 2012-08-01T21:33:42.790 回答