Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: SetTimeout в ajax функции
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
Доброго времени суток, многоуважаемые форумчане =) В общем редактируя скриптик для ajax комментирования наткнулся на проблему, не могу поставить setTimeout внутри ajax функции перед ошибкой.
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
returnfalse;
});
}
Сделать это я пытался 4 разными способами. И ни один из них не сработал, то ошибка синтаксиса, хотя там ее нет. То undefined функция, хотя имена совпадали =(
В принципе мне необязательно setTimeout, мне просто нужно сделать так, что бы текст "Ваш комментарий скоро будет добавлен. Пожалуйста подождите" не перекрывался ошибкой о невозможности добавить коммент.
В общем если поможете подправить или поясните как это сделать, буду очень вам благодарен.
Кстати, меня еще интересует, можно ли в скрипт вставить стили для элементов вида <style></style>, а то не очень хочется плодить http запросы ради файла css в пару строк =)
По второму вопросу: Зачем вам вообще подгружать стили, если они очень хорошо себя чувствуют, заранее прописанными где-нибудь в файле style.css?
Aligatro
Отправлено: 28 Декабря, 2013 - 15:47:28
Новичок
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
Deonis, спасибо большое, Ваше решение помогло, получился конечно лишный код, но все же работает =)
Почему я не хочу в стандартные стили засунуть стили ajax js? Просто, я хотел бы сделать это все в виде отдельного плагина для wordpress, что бы его можно было запаковать, сложить и забыть, до первой необходимости прикрутить ajax к комментариям на очередном сайте =) Зачем его потом таскать, встраивать, насиловать functions.php если можно просто написать админ часть с вызовом js и редактированием названий селекторов -)
Кстати по этому поводу меня интересует еще 2 вопроса.
1 - Можно ли сделать так, что бы в js передавался id класса, который пользователь изменит в админке плагина?
2 - Можно ли сделать так, что бы скрипт подключался только на странице комментариев а не по всему сайту =)
Большое спасибо =)
Deonis
Отправлено: 28 Декабря, 2013 - 16:09:00
Посетитель
Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009
Помог: 14 раз(а)
Aligatro пишет:
получился конечно лишный код, но
Это необходимость в связи с поставленной задачей, а лишний код это:
Что касается плагинов, если мы говорим об универсальном программном модуле, то далеко не всегда критерием той самой универсальности, является смешивание всего в одну кучу. Если вы рассматривали чужи проекты, то должны были обратить внимание, что подавляющее их большинство разделены на определенные логические части: серверный скрипт, скрипт клиентский, стили и т.д. Такое поведение позволяет быть не только универсальным, но и гибким в отношении индивидуальных его настроек под определенные задачи. Но это мое личное мнение.
Aligatro пишет:
1 - Можно ли сделать так, что бы в js передавался id класса, который пользователь изменит в админке плагина?
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
Deonis пишет:
Это необходимость в связи с поставленной задачей
Как бы там не было, я еще быдло-кодер =))
Deonis пишет:
Что касается плагинов, если мы говорим об универсальном программном модуле, то далеко не всегда критерием той самой универсальности, является смешивание всего в одну кучу. Если вы рассматривали чужи проекты, то должны были обратить внимание, что подавляющее их большинство разделены на определенные логические части: серверный скрипт, скрипт клиентский, стили и т.д. Такое поведение позволяет быть не только универсальным, но и гибким в отношении индивидуальных его настроек под определенные задачи. Но это мое личное мнение.
Я с Вами абсолютно согласен =) Но проблема в том, что ради 3-x стилей нужно подгружать отдельный файл, который создает (как мне кажется) лишнюю нагрузку. Но в целом я абсолютно согласен =)
Deonis, еще раз огромное Вам спасибо за помощь и примеры. Но все же я не до конца понимаю как бы это сделать =) Если Вы не против, можно я опишу пошагово, что как мне кажется необходимо сделать, а Вы скажите в правильном ли направлении я думаю -)
1 - Добавляем пункт меню в админку wp;
2 - Создаем переменную и связываем ее с textarea в админке;
3 - В самом скрипте при помощи get вызываем эту функцию или переменную из скрипта (я просто еще в ajax не разобрался);
4 - Добавляем вместо класса (по умолчание comments) эту переменную?
Большое спасибо за ответы =)
Deonis
Отправлено: 29 Декабря, 2013 - 05:37:27
Посетитель
Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009
Помог: 14 раз(а)
Aligatro пишет:
я опишу пошагово, что как мне кажется необходимо сделать
Для того, чтоб можно было что-либо советовать, желательно знать не пошаговое выполнение ваших действий, а описание того плагина, который вы хотите соорудить. Пусть это будет описано примитивно, но уловив суть, можно будет выстроить логическую цепочку необходимых действий. А так, мне абсолютно не ясно: зачем добавлять "пункт меню в админку", как это связано с "textarea", зачем мы "добавляем вместо класса" какую-то созданную ранее переменную и т.д.
И еще один момент... Не буду говорить о своих некоторых сомнениях, но на всякий пожарный, окиньте взглядом эту статейку. В любом случае, для начинающих не помешает.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.