Доброго времени суток, многоуважаемые форумчане =) В общем редактируя скриптик для ajax комментирования наткнулся на проблему, не могу поставить setTimeout внутри ajax функции перед ошибкой.
function ajx_submitCommentSettings()
{
jQuery('#commentform').live('submit', function(e){
e.preventDefault();
if(jQuery("#Processing").length == 0 )
var $message=jQuery('<span class="errorComments" id="Processing"></span>').appendTo("#commentform");
jQuery.ajax({
beforeSend:function(){
jQuery("#Processing").html('Комментарий скоро будет добавлен. Пожалуйста подождите...').show(0).delay(3000).hide(0);
return
},
type:'post',
url:jQuery(this).attr('action'),
data:jQuery(this).serialize(),
dataType:'html',
/*Задержка должна начинаться где то в этом месте =)*/
error: function (xhr) {
if(jQuery("#Processing1").length == 0 )
var $message=jQuery('<span class="errorComments" id="Processing1"></span>').appendTo("#commentform");
if(xhr.status==500){
jQuery("#Processing1").html(xhr.responseText.split('<p>')[1].split('</p>')[0]).delay(5000).hide(0);
}
else if(xhr.status=='timeout'){
jQuery("#Processing1").html('Error:Server time out,try again!').delay(5000).hide(0);
}
else{
jQuery("#Processing1").html('too fast error').delay(5000).hide(0); //too fast error
}
},
success:function(data){
var link = document.location.href;
jQuery.ajax({
type: "GET",
cache: false,
url: link,
success: function(data){
var oneval =jQuery(data).find('#comments');
jQuery('#comments').html(oneval.html());
}
}).done(function(){
});
//ajx_submitCommentSettings();
if(jQuery("#AddComment").length == 0 )
var $message=jQuery('<span class="errorComments" id="AddComment"></span>').appendTo("#commentform");
jQuery("#AddComment").html('thank you'); //thank you
}
});//end of ajax
return false;
});
}
Сделать это я пытался 4 разными способами. И ни один из них не сработал, то ошибка синтаксиса, хотя там ее нет. То undefined функция, хотя имена совпадали =(
В принципе мне необязательно setTimeout, мне просто нужно сделать так, что бы текст "Ваш комментарий скоро будет добавлен. Пожалуйста подождите" не перекрывался ошибкой о невозможности добавить коммент.
В общем если поможете подправить или поясните как это сделать, буду очень вам благодарен.
Кстати, меня еще интересует, можно ли в скрипт вставить стили для элементов вида <style></style>, а то не очень хочется плодить http запросы ради файла css в пару строк =)
P.s.s Если что, вот стили =)
#Processing {
position: fixed;
top: 0;
padding: 10px 50px 10px 50px;
left: 35%;
background: rgba(73, 71, 71, 0.54);
border-radius: 5px;
margin-top: 5px;
color: #fff;
font-weight: 600;}
#AddComment {
position: fixed;
top: 0;
padding: 10px 50px 10px 50px;
left: 35%;
background: rgba(80, 138, 52, 0.56);
border-radius: 5px;
margin-top: 5px;
color: #fff;
font-weight: 600;}
#Processing1 {
position: fixed;
top: 0;
padding: 10px 50px 10px 50px;
left: 35%;
background: rgba(185, 52, 52, 0.64);
border-radius: 5px;
margin-top: 5px;
color: #fff;
font-weight: 600;}