![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam ciężką sytuację, dość dziwną. Posiadam kod JS pewnej aplikacji. Nie mogę go zmienić, po prostu go znam. I w tym cały problem - bez zmian kodu JS mam do tego dopisać kod działający po stronie serwera, w PHP. Fragment funkcji dołączonej do zdarzenia onreadystatechange wygląda tak: Kod if(request.readyState == 4){ if(request.status == 200){ if(formObjTyp.length > 0 && formObjTyp == "input"){ var resp = request.responseText; // Wartość zwrotna jest tablicą. var func = new Function("return "+resp); var objt = func(); var sel = document.createElement("select"); sel.setAttribute("name","countries"); createOptions(sel,objt); var newsel = document.getElementById("newsel"); reset(newsel); newsel.appendChild(sel); } Sęk tkwi w funkcji createOptions: Kod function createOptions(sel, _options) { if (_options == null || _options.length == 0) { return; } var opt = null; for (var i = 0; i < _options.length; i++) { opt=document.createElement("option"); opt.appendChild(document.createTextNode(_options[i])); sel.appendChild(opt); } } Nie mogę zmienić tego kodu. No a funkcja createOptions() spodziewa się tablicy jako drugiego parametru. Teraz pytanie, jak ułożyć taki kod PHP, żeby w zmiennej objt była tablica... (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) Jeśli chodzi o mój wysiłek, to próbowałem z XML. Ale wtedy krzaczy się konstruktor Function("return" +resp), chyba że coś źle robiłem... Ten post edytował Hazel 10.02.2008, 13:00:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 22:26 |