class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

введение
XMLHttpRequest
метод get
метод post
кодировка
xml
JQuery
ajax и innerHTML

Справочник по ajax

Ajax и innerHTML

Суть проблемы в том, что после изменения средствами аякса innerHTML некоторого элемента, использовать это новое значение в блоке скрипта можно со второй попытки. Пусть есть следующий код

<script type="text/javascript">
function af(iid){
var ajax=getAjax();
if (ajax != null) {      
   ajax.open("POST","anytext.php",true);
   ajax.setRequestHeader("Content-type", 
         "application/x-www-form-urlencoded");
   ajax.onreadystatechange = function(){      
   if(ajax.readyState==4 && ajax.status==200)  
         document.getElementById(iid).innerHTML=ajax.responseText;  
         // здесь alert(document.getElementById(iid).innerHTML);
         // тоже будет работать корректно
         
   }
   ajax.send("");  
}
}

function test(){
af('test');
// в первый раз выйдет пустая строка
alert(document.getElementById('test').innerHTML);
// со второго раза ок
alert(document.getElementById('test').innerHTML);
}
</script>

Если доступ к innerHTML разнесен по разным событиям, то тоже все ок. Ниже можно протестировать оба варианта (проверено в FF3.08 и IE7).

<button onclick="test();">
check
</button>
<div id="test"></div>
<button onclick="af('test2');">
check2
</button>
<button onclick=
"alert(document.getElementById('test2').innerHTML);">
alert2
</button>
<div id="test2">
</div>

Рейтинг@Mail.ru