div.innerHTML проблемы

Nicca

Новичок
div.innerHTML проблемы

PHP:
lsXmlHttp.onreadystatechange=function() {
var response;
if(lsXmlHttp.readyState==4){
  setTimeout(function(){ 
    response = lsXmlHttp.responseText; 
    if(response=='1') {    div.innerHTML=jwajaxvote_lang['THANKS'];    }
    else 
    {
        div.innerHTML=jwajaxvote_lang['ALREADY_VOTE'];
    }                    
},3000);
setTimeout(function(){
  if(response=='1'){
    var newtotal = total_count+1;
    if(newtotal!=1)    div.innerHTML='('+(newtotal)+' '+jwajaxvote_lang['VOTES']+')';
    else div.innerHTML='('+(newtotal)+' '+jwajaxvote_lang['VOTE']+')';
    var percentage = ((total + i)/(newtotal))*20;
    document.getElementById('rating'+id+parent).style.width=percentage+'%';
} else {
    if(total_count!=1)    div.innerHTML='('+(total_count)+' '+jwajaxvote_lang['VOTES']+')';
    else div.innerHTML='('+(total_count)+' '+jwajaxvote_lang['VOTE']+')';
}
},3000);
}
}    
lsXmlHttp.open("GET",live_site+"/mambots/content/plugin_jw_ajaxvote/ajax.php?task=vote&user_rating="+i+"&cid="+id+"&parent="+parent,true);
lsXmlHttp.send(null);
Не работает div.innerHTML в первом вызове setTimeout(function(). Почему?
 

Farsh

~ on ~ high ~ wave ~
заключить в setTimeout функцию в кавычки и на конце добавить "()"
 

dimagolov

Новичок
Farsh, если ничего не смыслишь в вопросе, то жуй свой орбит тихо, ок?

Nicca, совет то банален, поставь alert() в ту ф-ю где не работает и посмотри что же реально в lsXmlHttp.responseText вместо ожидаемой '1'.

-~{}~ 19.12.08 13:46:

кстати, а зачем ты в onreadystatechange объекта lsXmlHttp обращаешься к нему не через this, а в замыканиях не через self, который
PHP:
var self= this;
а через lsXmlHttp, до которого интерпретатору надо раскручивать контекст до глобального? Может еще и в этом трабла, в том в каком контексте объявлен lsXmlHttp, всего кода то мне не видно.
 

Farsh

~ on ~ high ~ wave ~
dimagolov
Тут в вопросе смыслить нечего, все ясно. В моем случае, я первый раз вижу такой вид работы с setTimeout, поэтому уверенно предположил, то что такая запись не верна, и из-за этого просто не запускается нужная функция. Но поспешил с выводами :) Извиняюсь ;) А выпендриваться не надо ...
 
Сверху