Wordpress リスト テーブルがあり、各行には削除するオプションがあります。クリックする<a class="delete_gallery" href="&action=delete">
と、jQueryUI ダイアログがポップアップします。アクションを確認すると、ajaxが発生したり、サーバー側の処理が行われたりします。成功したら、ページを更新し、削除が成功したことを説明するワードプレス メッセージを表示します。
ページを更新する理由は、WP_List_Table が ajax 化されておらず、変更を確認する必要があるためです。
ページが更新された後にメッセージを表示するにはどうすればよいですか? 私が現在持っている方法では、更新が呼び出された直後にメッセージが表示されます。遅延などは望んでいません。ダイアログの確認がクリックされるとすぐに、ページが更新され、サーバー側の処理が行われ、成功メッセージが表示されます。
簡単にするためにサーバー側の var/info を削除したコードの一部を次に示します。注: 私は Wordpress の組み込み Ajax を使用しています。
jQuery(".delete_gallery").click(function(event) {
event.preventDefault();
var link = jQuery(this).attr('href');
var link = link.substring(0, link.indexOf('?'));
jQuery("#deleteconf").dialog({
height: 150,
width: 350,
resizable : false,
modal: true,
buttons: {
"Delete all items": function() {
jQuery(this).dialog("close");
jQuery.post(
MyAjax.ajaxurl,
{
action : 'delete_gallery',
postCommentNonce : MyAjax.postCommentNonce,
},
function(response) {
window.location.reload(link);
jQuery('#message p').html('The gallery was deleted successfully');
jQuery('#message').show();
}); return false;
},
Cancel: function() {
jQuery(this).dialog("close"); return false;
}
}
});
});
これが最善の方法ですか?その場合、更新後にメッセージを表示するにはどうすればよいですか。そうでない場合、最善の方法は何ですか?私は本当にjQueryUIを使いたいのですが、ページを更新して変更を表示するために、誰かが「オーケー、アイテムは削除されました」のようにクリックする必要はありません。
私はこれに似たものを用意していますが、フォームと php を使用して $_POST を送信するボタンをキャプチャしています。jQueryUI ボタンを使用するときにそれが可能かどうかはわかりません。いずれにせよ、リフレッシュ後の応答には取り組みません。
ありがとう、そして私はすべての助けに感謝します.