У меня есть компонент Joomla для управления мастерскими.
В режиме редактирования у меня есть, помимо прочих, 3 списка выбора:
- список тем
- список уровней
- призовая валюта
Я пытаюсь заполнить параметры списка уровней в зависимости от того, что было выбрано в параметрах списка тем.
Итак, в список обмена тем я добавил вызов в файл .js, содержащий запрос AJAX:
var xmlhttp;
function listUpdate(str)
{
if (str=="")
{
document.getElementById("jform_work_topic_level_idfk").innerHTML="";
return;
}
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert("Browser does not support HTTP Request");
return;
}
var url = document.URL+"&tid="+str;
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("jform_work_topic_level_idfk").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
Он работает правильно, и параметры списка уровней заполняются желаемыми значениями в зависимости от того, что было выбрано в списке тем. Проблема в том, что список уровней не просто заполняется этими опциями, НО ТАКЖЕ опциями списка тем и валюты приза.
Я думаю, что это потому, что xmlhttp.open ("GET", url, true); запрашивает URL, который генерирует всю форму html и xmlhttp.responseText; возвращает весь код HTML-страницы. Как я могу сделать, чтобы просто получить параметры для списка уровней?
Большое спасибо!