Показать сообщение отдельно
  #1 (permalink)  
Старый 25.03.2010, 07:52
Новичок на форуме
Отправить личное сообщение для goldenmouse Посмотреть профиль Найти все сообщения от goldenmouse
 
Регистрация: 25.03.2010
Сообщений: 1

пустой результат responseText
Здравствуйте, уважаемые знатоки!

Есть проблемка с 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 - не понимаю.

Объясните, пожалуйста, почему.
Ответить с цитированием