Здравствуйте, уважаемые знатоки!
Есть проблемка с AJAX'ом, помогите разобраться.
Файл 111.js
function process(targetid, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
var obj = document.getElementById(targetid);
if (targetid.indexOf('select') + 1) {
if (obj.selectedIndex >0) {
name = encodeURIComponent(obj.options[obj.selectedIndex].value);
}
}
else name = encodeURIComponent(obj.value);
url = "index2.php?&func=Test1&name=" + name;
page_request.open('GET', url, true)
page_request.send(null)
}
function loadpage(page_request, containerid){
if (page_request.readyState == 4 && page_request.status==200)
document.getElementById(containerid).innerHTML=page_request.responseText
}
В файле index2.php запускается функция Test1
switch( $func ) {
case 'Test1':
Test1();
break;
default:
break;
}
function Test1() {
$emitent = $_REQUEST['name'];
echo $emitent;
}
И всё это дело запускается кодом
<select size=1 name='emitent' id='emitentselect'>
<option value='1'>1
<option value='2'>2
</select>
<input type='button' value='Выбрать' onclick='process("emitentselect","divMessage"); '/>
<div id='divMessage' />
По идее, после клика по кнопке должен в divMessage появиться выбранный пункт списка. Но не выводится.
Пробывал тестовую ссылку делать
url = "index2.php?&func=Test1&name=" + name;
document.getElementById(containerid).innerHTML = "<a href="+url+">Ссылка</a>";
Она появляется и пропадает, но если успеть кликнуть, то открывается чистая страница с нужным текстом.
Т.е. при переходе по ссылке, например index2.php?&func=Test1&name=1 открывается страница с цифрой 1, т.е. и сама функция Test1 работает как надо, получает и передаёт данные.
А вот почему это данные не появляются здесь document.getElementById(containerid).innerHTML=pag e_request.responseText - не понимаю.
Объясните, пожалуйста, почему.