| Код | var userscolarr= new Array(); function getstartpos() { url="getbattleusersposition.php?name="+window.nn; function getXMLHttpRequest() { var xmlhttpreq=null; if (window.XMLHttpRequest) //Mozilla, Safari & IE 7 { xmlhttpreq = new XMLHttpRequest(); } else if(window.ActiveXObject) // IE 6 and later { try { xmlhttpreq = new ActiveXObject('Msxml2.XMLHTTP'); } catch(err) { xmlhttpreq = new ActiveXObject('Microsoft.XMLHTTP'); } } return xmlhttpreq; } function sendRequest(method, url, param) { var request = getXMLHttpRequest(); request.open(method, url, true); request.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function() { handleAjaxResponse(request); }; request.send(param); } function isSuccess(request) { return request.status == 0 || (request.status >= 200 && request.status < 300); } function handleAjaxResponse(request) { if(request.readyState == 4) { if(isSuccess(request)) { var responseXML = request.responseXML; var root = responseXML.getElementsByTagName('response').item(0); var responseID = Array(); var responseValue = Array(); var usersaa= new Array(); for (var iNode = 0; iNode < root.childNodes.length; iNode++) { var node = root.childNodes.item(iNode); for (ik = 0; ik < node.childNodes.length; ik++) { var block = node.childNodes.item(ik); if (block.nodeType != 1) continue; switch(block.nodeName) { case "names": usersaa[block.firstChild.nodeValue]= new Array(); persname=block.firstChild.nodeValue; userscolarr[ik]=block.firstChild.nodeValue; alert("userscolarr fist="+userscolarr[0]); break; case "position": var flpos=parseFloat(block.firstChild.nodeValue); usersaa[persname]['persX']=cell[flpos]['x']-10; usersaa[persname]['persY']=cell[flpos]['y']-70; break; } } } for(ik=0; responseID.length; ik++) { document.getElementById(responseID.pop()).innerHTML = responseValue.pop(); } } } } sendRequest('GET', url, null); }; function map_array() { getstartpos(); var a=1; var m=''; while (a<155) { m+='<img src="no1.gif" alt='+a+' id='+a+' style="position: absolute; left: '+cell[a]['x']+'px; top:'+cell[a]['y']+'px;" onMouseOver="kurin('+a+')" onMouseOut="kurout('+a+')" onmouseup="move('+a+')">'; a=a+1; } map_out('battlediv',m); alert("userscolarr="+userscolarr[0]);
|
для чего эта часть кода-не спрашивайте.излагаю проблемму:в функции getstartpos() в массив userscolarr мы добавляем имена.на данный момент туда вносится всего одно имя,и оно "1". тут alert("userscolarr fist="+userscolarr[0]); выводится нормально userscolarr fist=1 но вот тут alert("userscolarr="+userscolarr[0]) ,это в конце кода,выводится userscolarr=undefined может быть что скрипт не дожидается завершения функции getstartpos() и идет дальше,и соответственно не знает значение userscolarr[0],или этот массив каким-то чудом обнуляется? |