そのため、送信後に送信ボタンのテキストを変更できます。「メッセージを送る」のように、送信すると「送信済み」になります。数秒後にテキストを「メッセージを送信」に戻すことはできますか? フォームは AJAX で処理されます。
ありがとう!
そのため、送信後に送信ボタンのテキストを変更できます。「メッセージを送る」のように、送信すると「送信済み」になります。数秒後にテキストを「メッセージを送信」に戻すことはできますか? フォームは AJAX で処理されます。
ありがとう!
という id を持つajax-form
フォームがあり、そのフォームの入力フィールドには id:form-input
と name:title
があり、id が である送信ボタンがあるとしますsubmit-btn
。それでは、次のように ajax を実行しましょう。
var ajaxForm = $('#ajax-form'),
submitBtn = ajaxForm.find('#submit-btn');
ajaxForm.on('submit', function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: ajaxForm.prop('action'),
data: {
title: ajaxForm.find('input').val()
},
dataType: 'json',
beforeSend: function() {
submitBtn.text('Send message');
},
success: function() {
submitBtn.text('Sent');
},
complete: function() {
setTimeout(function() {
submitBtn.text('Send message'); // Change it back after 4 seconds
}, 4000);
}
});
});
エラー ハンドラの追加が必要になる場合があります。詳細については、jQuery AJAX ドキュメント ( http://api.jquery.com/jQuery.ajax/ ) を参照してください。
これがあなたを助けることを願っています。:)