Krótki opis funkcjonalności skryptu:
Użytkownik zaznacza za pomocą checkbox-ów interesujące go dane(JS), które z automatu pobierane są przez skrypt(PHP) i po otrzymaniu danych powinny być wyświetlone w systemie w formie wykresu. Tutaj pojawia się problem. W wyniki końcowym kod JS z wykresem jest generowany, ale pozostaje widoczny tylko pokazując źródło zaznaczenia. Na samej stronie niestety już się nie pojawia.
Plik index.php
Plik wybor.js
var xmlhttp; function showPart(str,str2) { xmlhttp=GetXmlHttpObject(); var url="wczytaj.php"; url=url+"?id_p="+str2; url=url+"&part="+str; url=url+"&sid="+Math.random(); xmlhttp.onreadystatechange=stateChanged; xmlhttp.open("GET",url,true); xmlhttp.send(null); } function stateChanged() { if (xmlhttp.readyState==4) { document.getElementById("informacja").innerHTML=xmlhttp.responseText; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } return null; }
Plik wczytaj.php
// troszke kodu generujacego ponizsze wyniki: $data_start='2011,03,19'; $data_koncowa='2011,07,08'; $cols="data.addColumn('number', ''); data.addColumn('string', 'title1'); data.addColumn('string', 'text1'); data.addColumn('number', ''); data.addColumn('string', 'title1'); data.addColumn('string', 'text1');" $notowanie=" [new Date(2011,03,19) ,5.500,undefined,undefined,4.700,undefined,undefined ], [new Date(2011,03,30) ,6.900,'Warszawa',undefined,undefined,undefined,undefined ], [new Date(2011,04,08) ,undefined,undefined,undefined,5.000,undefined,undefined ], [new Date(2011,04,12) ,undefined,undefined,undefined,5.000,undefined,undefined ], [new Date(2011,07,07) ,undefined,undefined,undefined,4.200,undefined,undefined ], [new Date(2011,07,08) ,undefined,undefined,undefined,4.200,'Katowice',undefined ] "; echo " <script type='text/javascript'> google.load('visualization', '1', {'packages' :['annotatedtimeline']}); function drawVisualization() { var data = new google.visualization.DataTable(); data.addColumn('date', 'Date'); ".$cols." data.addRows([ ".$notowanie." ]); var annotatedtimeline = new google.visualization.AnnotatedTimeLine(document.getElementById('visualization')); annotatedtimeline.draw(data, {'displayAnnotations': true, 'zoomStartTime': new Date(".$data_start."), 'zoomEndTime': new Date(".$data_koncowa.") } ); } google.setOnLoadCallback(drawVisualization); </script> <div id='visualization' style='width: 800px; height: 400px;'></div>";
Sam kod po podstawieniu działa prawidłowo. Tyle że właśnie nie wyświetla się ten wykres. Może problem leży w tym, ze wczytuje JS(wykres) w JS(ładowanie checkbox-ow w indexie).