![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 18.12.2007 Ostrzeżenie: (0%)
|
Witam, mam następujący problem. Gdy wyodrębnie potomków obiektu <response> w poniższy sposób, kod zadzaiała pod Operą & FF, natomiast już nie pod IE (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) . Gdyby zrobić to tylko jako <response> bez potomków, jako jeden ciąg znaków działa bez problemu.. chodzi o to że php zwraca mi więcej niż jedną wartość i zależy mi na tym aby były one rozdzielone, więc 'działający sposób' odpada..
jak sprawić aby poniższy kod zadziałał również pod IE? lub jak inaczej pobrać potomków obiektu <response>? ... //wyodrębnia wiadomosc xml z serv. xmlResponse = xmlHttp.responseXML; //pobiera el. glowny ze struktury xml xmlDocumentElement = xmlResponse.documentElement; tilesizeArray = xmlDocumentElement.getElementsByTagName("tilesize"); tilesize_todisplay = tilesizeArray.item(0).firstChild.data; crownheightArray = xmlDocumentElement.getElementsByTagName("crownheight"); crownheight_todisplay = crownheightArray.item(0).firstChild.data; crownangleArray = xmlDocumentElement.getElementsByTagName("crownangle"); crownangle_todisplay = crownangleArray.item(0).firstChild.data; baseheightArray = xmlDocumentElement.getElementsByTagName("baseheight"); baseheight_todisplay = baseheightArray.item(0).firstChild.data; baseangleArray = xmlDocumentElement.getElementsByTagName("baseangle"); baseangle_todisplay = baseangleArray.item(0).firstChild.data; warningArray = xmlDocumentElement.getElementsByTagName("warning"); warning_todisplay = warningArray.item(0).firstChild.data; document.getElementById("divTileSize").innerHTML ='<i><font color="red">' + tilesize_todisplay + '</font>% </i>'; document.getElementById("divCrownHeight").innerHTML ='<i><font color="red">' + crownheight_todisplay + ' </font>% </i>'; document.getElementById("divCrownAngle").innerHTML ='<i><font color="red">' + crownangle_todisplay + '</font>°</i>'; document.getElementById("divBaseHeight").innerHTML ='<i><font color="red">' + baseheight_todisplay + ' </font>% </i>'; document.getElementById("divBaseAngle").innerHTML ='<i><font color="red">' + baseangle_todisplay + ' </font>° </i>'; document.getElementById("divWarning").innerHTML = '<i><font color="red">' + warning_todisplay + ' </font></i>'; ... z góry dzięki za pomoc! pozdrawiam. (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Ten post edytował filo 19.12.2007, 02:51:14 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 9 Dołączył: 26.01.2004 Skąd: Poznań Ostrzeżenie: (0%)
|
ale po co to z palca pisać. jQuery polecam. Pełno pluginów i pełna dokumentacja. Działa we wszystkich przeglądarkach. Tak to już jest że MSIE6 będzie to 2020 roku przeklinana przez webmasterów. A samo jej istnienie będzie opóźniało rozwój sieci.
a co do IE to obiekt musiał byś zmienić na
takie życie. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 2 Dołączył: 15.11.2007 Skąd: Kraków Ostrzeżenie: (0%)
|
[xml][/xml] |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 18.12.2007 Ostrzeżenie: (0%)
|
obiekt już jest jako 'xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"),tak dla IE jest poprawnie, niemniej jednak wydaje mi sie ze zależy to od części kodu znajdującej sie powyżej.. bo jak napisałem gdy przekazuje sam parametr response w sposób powiedzmy taki:
msg = xmlDocumentElement.firstChild.data; document.getElementById("divMsg").innerHTML = '<i> + msg + </i>'; w przypadku xml'a typu: <response>msg</response> .. jest ok, natomiast ja mam coś takiego: <response><potomek1>msg1</potomek1><potomek2>msg2</potomek2></response> i staram sie wyodrębnić elementy msg1 i msg2 Ten post edytował filo 20.12.2007, 12:54:45 |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 08:45 |