Witam, mam problem natury dosyć nietypowej.
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 <script type='text/javascript' src='http://www.google.com/jsapi'></script>
<strong>Wybrany produkt piwo Żywiec butelka [0.5l]
</strong> <label><input onclick="showPart(this.value,100)" name="g" value="7" type="checkbox">Rzeszów
</label> <label><input onclick="showPart(this.value,100)" name="g" value="8" type="checkbox">Warszawa
</label> <label><input onclick="showPart(this.value,100)" name="g" value="9" type="checkbox">Poznań
</label> <label><input onclick="showPart(this.value,100)" name="g" value="10" type="checkbox">Wrocław
</label> <label><input onclick="showPart(this.value,100)" name="g" value="11" type="checkbox">Lublin
</label> <div id="informacja">TUTAJ ŁADUJE SIĘ SKRYPT JS
</div>
Plik
wybor.jsvar 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 ]
";
<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).