Od niedawna tworzę coś w JavaScript i dlatego postanowiłem umieścić ten problem tutaj, ale nie wiem czy należy on do błędów podstawowych. Ale do rzeczy.
Znalazłem w necie dosyć prostą instrukcję, a raczej gotowy skrypt, który przy zmianie wybranej opcji pola typu select pobiera z bazy danych dane na ten temat i wyświetla bez przeładowania na stronie.
Mi jest potrzebny podobny skrypt, jednak ten ma pod wpływem wyboru w jednym polu select pobrać dane z tablicy i umieścić je jako opcje w drugim polu select. Trochę już nad tym siedzę, dlatego postanowiłem tutaj spytać się co może robię źle.
Oto całość:
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <script type="text/javascript"> function showColor(nr) { if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); } else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp = new onreadystatechange = function() { if(xmlhttp.readyState==4 && xmlhttp.status==200){ document.getElementById("selector_c").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getproduct.php?pr="+nr,true); xmlhttp.send(); } </script> </head> <body> <div class="selector2"> <select name="rozmiar" id="selector_r" onchange="showColor(this.value)"> </select> </div> <div class="selector2"> <select name="color" id="selector_c"> </select> </div> </body> </html>
getproduct.php
<? include('engine/config.php'); $p=$_GET['pr']; { } else{ echo' <option value=""></option> <option value="1">r</option> <option value="2">rodzaj1</option>'; } ?>
Oba pliki są na tym samym poziomie.
Możliwe, że jest to jakiś głupi błąd, ale ja jakoś patrzę i nic nie widzę.