2017-09-26 4 views
0

フォームをクリックすると、データが正常に処理され、ページが更新されずに緑の成功メッセージが表示されます。しかし、私がページにいて、もう一度フォームを送信しようとすると、成功メッセージは表示されませんが、フォームは自動的にリセットされます。ページをリフレッシュせずに毎回成功メッセージを得るにはどうすればよいですか?Jquery、Ajaxの成功メッセージはonclickと表示されない2回目の表示時にのみ表示されます

ところで、私がページをリフレッシュすると、成功メッセージが再び表示されます。ここで

私のコードです:

$(document).ready(function() { 
    $('#TestForm').submit(function (e) { 
     e.preventDefault(); 
     $.ajax({ 
      url:"post.php", 
      data: $(this).serialize(), 
      type: "POST", 
      dataType: "json", 
      success: function (data) { 
       $('#resultback').addClass("alert alert-success").html('Your data has sent succesfully! '); 
       $('#TestForm').trigger("reset"); 
       setTimeout(function() { 
        $('#resultback').fadeOut('slow'); }, 3000); 
      }, 
      error: function (data) { $('#status').html(status); 
      } 
     }) 
    }) 
    $('#TestForm').reset; 
}) 

それはなぜ起こるのでしょうか?

+0

コンソールにエラーが表示されていませんか? –

+0

あなたの投稿を編集して、使用しているHTMLを追加できますか? –

答えて

0

$('#resultback').fadeOutが完了すると、メッセージにdisplay: none;というスタイルが表示されます。だから、あなただけの$('#resultback').show();

http://api.jquery.com/fadeout/

0

でそれをチェックアウトするか、#resultbackにコンテンツを入れた後フェードアウトする前に「resultback」要素を表示してください。 $( '#resultback')。show()

+0

ありがとう、それはうまく動作します。あなたは確かに今日の人です! :-) – callmejoejoe

関連する問題