На моем сайте Wordpress у меня есть стандартная форма отправки комментариев. Я добавил к нему сценарий (ajax), поэтому мне не нужно перезагружать страницу для отправки комментария. Все работает, но как показать отправленный комментарий без обновления страницы?Показать комментарий после отправки
Мой код:
jQuery('document').ready(function($){
var commentform=$('form#commentform');
commentform.prepend('<div id="wdpajax-info" ></div>');
var infodiv=$('#wdpajax-info');
commentform.validate({
submitHandler: function(form){
var formdata=commentform.serialize();
infodiv.html('<p>Proszę czekać...</p>');
var formurl=commentform.attr('action');
$.ajax({
type: 'post',
url: formurl,
data: formdata,
error: function(XMLHttpRequest, textStatus, errorThrown){
infodiv.html('<p class="wdpajax-error" >Sprawdź wszystkie pola!</p>');
},
success: function(data, textStatus, html){
$("ul.commentlist").append(formdata);
$("ul.commentlist li:last").fadeIn("slow");
if(data=="success")
infodiv.html('<p class="wdpajax-success" >Dzięki, komentarz został dodany!</p>');
else
infodiv.html('<p class="wdpajax-error" >Błąd</p>');
commentform.find('textarea[name=comment]').val('');
}
});
}
});
});
В эпоху APP-подобных и AJAX-ориентированных веб-сайтов * обновление страницы * больше не является признаком того, что «эй, мы что-то спасли!» –
Imo выглядит лучше, когда комментарий появляется без обновления страницы. formdata показывает мне это: comment = Comment & comment_post_ID = 746 & comment_parent = 0 & _wp_unfiltered_html_comment = dcce3d07fc & akismet_comment_nonce = 171be0e422 –