Проблемы с xajax

Platon_82

Новичок
Проблемы с xajax

Делаю взаимосвязанные селекты. Постоянно выдает ошибку:
Error: the XML response that was returned from the server is invalid
Received:

И дальше в виде текста мой запрос в формате хмл

Не могу понять где ошибка:
PHP:
#Мой селект откуда вызываю функцию, которая во второй селект возвращает рез-ты запроса
<select id="country" name="country" onchange='xajax_getList2(this.options[this.selectedIndex].value, "country", "{$lng}")'>
  #Наполняю селект
</select> 
# Селект, который пытаюсь заполнить с помощью выбора данных в первом
<div id="div2">
<select class="inputtext" name='region' onchange='xajax_getList2(this.options[this.selectedIndex].value, "city", "{$lng}")'>
</select>
</div>

#ajax.php
require_once("xajax/xajax.inc.php");
$xajax = new xajax();
$xajax->registerFunction("getList2");
$xajax->processRequests();

function getList2($region, $flag, $lng)
{
  if($flag=='country')
    {
      $text = "<option value='0'>-Выберите регион-</option>";
      $sql="select * from ard_regions where parent_country=$region and lng='".$lng."' and parent_region=0";				
      $res=db_select($sql);
      while ($row = mysql_fetch_array($res)) 
        {
            $text .= "<option value='".$row['id']."'>".$row['country']."</option>";
        }
     $text = "<select name='region' class=\"inputtext\" onchange='xajax_getList2(this.options[this.selectedIndex].value, \"city\", $lng)'>$text</select>";
     $objResponse = new xajaxResponse();
     $objResponse->setCharEncoding('windows-1251');
     $objResponse->addAssign("div2", "innerHTML", $text);
     return $objResponse;
}	
$smarty->assign("xjavascript", $xajax->getJavascript(SITE_URL));
 

RoLex

Новичок
1. проверь корректность открытия / закрытия ковычек.
2. придерживайся одного стиля с ковычками, а то у тебя то ' то \"
3. this.options[this.selectedIndex].value можно заменить просто на this.value (меньше кода, меньше вероятность ошибки).
4. function getList2($region, $flag, $lng)
{
.....

$smarty->assign("xjavascript", $xajax->getJavascript(SITE_URL));

ты тут специально не поставил } у function getList2(....) ? или у тебя в коде так и есть?

PS. давно приводил пример с селекатми
http://phpclub.ru/talk/showthread.php?postid=771533#post771533
 
Сверху