function getdata(){
var XMLHttpRequestObject = false;
if(window.XMLHttpRequest){
XMLHttpRequestObject = new XMLHttpRequest();
}else if(window.ActiveXObject){
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if(XMLHttpRequestObject){
XMLHttpRequestObject.open("GET", "server.php");
XMLHttpRequestObject.onreadystatechange = function(){
if (XMLHttpRequestObject.readyState == 4){
if (XMLHttpRequestObject.status == 200){
var xmlDoc = XMLHttpRequestObject.responseXML;
}
}
}
XMLHttpRequestObject.send(null);
}
}
ответ с сервера:
<title>
<d0>
1.gif
</>
<d60>
2.gif
</d60>
<d10>
1.gif
</d10>
</title>
Нужно чтобы создался цикл именно на 3 хода (потому, что 3 элемента в xml ответе "d0","d60","d10"), если элементов больше, то и ходов в цикле больше. В цикле берутся имена этих трех элементов и их value запихивает в дивы с таким же id. Т.е есть дивы с id "d0","d60","d10"... и xml элементы "d0","d60","d10"...надо с них брать данные и пихать в соответствующие дивы...Пожалуйста помогите
Спустя 10 часов, 36 минут, 2 секунды (17.10.2010 - 09:56) linker написал(а):
function parseXML(xmlDoc)
{
for(var Index in xmlDoc.childNodes)
{
var Node = xmlDoc.childNodes[Index];
if (Node.nodeType != 1) { continue; } // Различия DOM модели для IE и других нормальных браузеров
var DivObject = document.getElementById(Node.nodeName);
if (DivObject != null)
DivObject.innerHTML = Node.nodeValue; // Для IE не помню
}
}
Спустя 2 дня, 4 часа, 49 минут, 28 секунд (19.10.2010 - 14:45) Jekel написал(а):
var xmlDoc = XMLHttpRequestObject.responseXML;
var xmlSed = xmlDoc.documentElement;
var xmlNum = xmlSed.childNodes.length;
var xmlGet;
for(xmlGet=0; xmlGet<xmlNum; xmlGet++){
var titleName = xmlSed.childNodes.item(xmlGet).nodeName;
var titleImg = xmlSed.childNodes.item(xmlGet).text;
if(!titleImg){
titleImg = xmlSed.childNodes.item(xmlGet).textContent;
}
var divMap = document.getElementById(titleName);
if(titleImg!="0" && divMap.style.backgroundImage!="url(img/"+titleImg+")"){
divMap.style.backgroundImage = "url(img/"+titleImg+")";
}else if(titleImg=="0" && divMap.style.backgroundImage != "none"){
divMap.style.backgroundImage = "none";
}else if(titleImg==""){
alert("titleImg is null");
}
}
Спустя 49 секунд (19.10.2010 - 14:46) Jekel написал(а):
так лучше
Спустя 2 часа, 29 минут, 46 секунд (19.10.2010 - 17:16) linker написал(а):
Jekel
Ну это уже ты сам решай как лучше, главное направление дано. По поводу моих ремарок, лучше обратить внимание. В firefox и прочих браузерах кроме IE, даже один пробел будет считаться узлом, у которого тип есть XML_TEXT_NODE. Также есть различия в наличии некоторых полей у узлов-объектов.
Ну это уже ты сам решай как лучше, главное направление дано. По поводу моих ремарок, лучше обратить внимание. В firefox и прочих браузерах кроме IE, даже один пробел будет считаться узлом, у которого тип есть XML_TEXT_NODE. Также есть различия в наличии некоторых полей у узлов-объектов.