2016-04-25 5 views
0

以下の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

エラーメッセージコンテナに​​を呼び出すとき、それはnoneにそのdisplayプロパティを設定するためです。同じ要素を再利用しようとすると、すでに隠されています。要素がフェードアウトする前に表示されるようにすることで、この要素を有効にすることができます。

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