错误消息只生成一次

时间:2016-04-25 00:39:58

标签: jquery

我有以下jQuery代码来检查开始和结束日期,但错误消息仅显示一次,如果用户使用任何错误值更改结束日期,则不会生成错误消息。有什么我想念的吗?

$('input[name="endDate"]').change(function(){
    var startDate=$('input[name="startDate"]');
    var endDate=$('input[name="endDate"]');
    var errorSpan= $('.errorSpan');
    $.ajax({
        url:'${createLink(controller:'empRef', action: 'checkServiceDatesAjax')}'   ,
        type:'POST' ,
        data:{startDate:startDate.val(), endDate:endDate.val()} ,
        success: function(XMLHttpRequest, textStatus, jqXHR) {

        },

        error: function(XMLHttpRequest,  textStatus,  errorThrown) { 
            errorSpan.html("&nbsp;&nbsp;&nbsp;&nbsp;<font color='red'>"+XMLHttpRequest.responseText+"</font>").fadeOut(5000);
            endDate.focus();

        }
    })

});

1 个答案:

答案 0 :(得分:1)

这是因为当您在错误消息容器上调用fadeOut()时,它会将其display属性设置为none。当您尝试重用相同的元素时,它已被隐藏。您可以通过确保元素在淡出之前可见来使其工作:

error: function(XMLHttpRequest,  textStatus,  errorThrown) { 
  errorSpan.html("&nbsp;&nbsp;&nbsp;&nbsp;<font color='red'>"+XMLHttpRequest.responseText+"</font>")
  errorSpan.show()
  errorSpan.fadeOut(5000);
  endDate.focus();
}