Делаю форму, в которой при выборе города подгружаются районы для данного города.
У меня список районов (и их номеров) выводится в виде XML-документа (этот xml-документ создаётся с помощью php):
<?xml version="1.0" encoding="windows-1251"?>
<raions><rv>1</rv><rn>Железнодорожный</rn><rv>2</rv><rn>Ленинский</rn></raions>
Здесь в тегах <rv> содержатся номера районов (без номеров никуда, по ним происходит идентификация каждого района), а в <rn> - названия районов.
Перед отправкой браузеру этого XML-документа ставлю заголовок:
header("Content-Type: text/xml; charset=windows-1251");
Не привожу саму функцию с XMLHttpReques-объектом, так как здесь у меня проблем не возникает. Не знаю, как написать функцию inHTML(), в задачу которой входит отобразить список с районами.
if (xmlhttp.readyState==4)
{
inHTML();
}
В качестве responseText я без проблем могу увидеть данные, полученные от сервера (вижу xml-документ). Но мне надо из данных составить новый список из районов следующего вида (для каждого города названия и количество районов будут отличаться):
<select>
<option value="1">Железнодорожный</option>
<option value="2">Ленинский</option>
</select>
Может кто знает, как грамотно сделать такую вещь?
Здесь следует использовать свойство responseXML объекта XMLHttpRequest, а вот как его использовать мне не понятно.
Как сделать функцию, производящую разбор xml-документа? Может следует изменить структуру xml-документа? Конечно же можно было бы прямо на сервере составить данный список со всеми html-тегами, отправить его браузеру и в браузере вставить с помощью innerHTML, но innerHTML не поддерживается стандартом w3c, а значит использовать его всётаки не рекомендуется.