私は単純なフォームを持っており、データをajaxでデータベースに送信します。すべてがうまくいきます。フォームが提出された直後に、「完了」というテキストの警告メッセージが表示されます。AJAXで送信されたフォームの後にdivを書き戻します。
私の唯一の問題は、自分のdivが自動的に再読み込みされるようになっているため、ユーザーは警告メッセージから「OK」ボタンをクリックした直後に投稿結果を見ることができるということです。誰かが私がそれを達成する方法を教えてもらえますか?ここに私のコードです。
$(function() {
$('#form2').on(\"submit\", function(event) {
event.preventDefault();
$.ajax({
url: 'index.php',
type: 'post',
data: $(this).serialize(),
beforeSend: function(){
$('#loading').show();
},
complete: function(){
$('#loading').hide();
},
success: function() {
alert('Done');
}
});
});
});
<div id='refreshtodo'>
<form name='form2' id='form2' action='./index.php' method='post'>
<input type='text' class='big' name='duedate' size='10' maxlength='10' value='".date("d.m.Y")."'>
<input type='submit' class='btn btn-info btn-sm' role='button' value='add'>
<div id='loading' style='display:none;'>
<img src=\"./bootstrap/assets/images/spinner-loading-small.gif\" alt=\"Loading - Please wait...\" />
</form>
</div>
DIV #refreshtodo
は一度警告メッセージで[OK]をクリックし、再ロードする必要があります!
「再読み込み」とはどういう意味ですか?そのdivの内容を更新するには、DOMを手作業で修正する必要があります –
私はPHP側からの返信で投稿データを送信できると思います。そして、JQueryの '.html'関数を使って特定のhtml要素のHTMLを変更することができます。 – hmd
@hmdと同じように...私の答えをチェックしてください。 –