<div id="szukaj"> <?php echo '<form name="formularz" method="post" action="'.$adres.'/szukaj/sortuj/0/str/1" onsubmit="return SprawdzDane2(this)">'; ?> <table> <tr> <td>kategori:</td> <td> <select name="kategoria" onchange='javascrip: redirect(this.options.selectedIndex);' id="kateg"> <option value="brak">wybierz</option> <?php ?> </select> </td> </tr> <tr> <td>miasto:</td> <td> <select name="miejscowosc" id="miejscowosc" value="wybierz"> <?php $sql='SELECT DISTINCT miejscowosc FROM oferta'; for ($i=1; $i<=$lPoz; $i++) { } ?> </select> </td> </tr> </table> <p>powierzchni:</p> <p>o: <input type="text" name="pow_od" value="" maxlength="5" size="7" /> do: <input type="text" name="pow_do" value="" maxlength="5" size="7" /></p> <p style="margin-to:10px;">cen:</p> <p> o: <input type="text" name="cena_od" value="" maxlength="15" size="7" /> do: <input type="text" name="cena_do" value="" maxlength="15" size="7" /></p> <input id="znajdz" type="submit" value="znajdź" class='btn'/> </form> </div>
Do SELECTA kategoria podłączona jest funkcja w JavaScripcie, której zadaniem jest zmiana wartości w selecie miejscowości, w zależności od wybranej kategorii.
Oto kod JavaScript do obsługi tego:
var groups=document.formularz.kategoria.options.length var group=new Array(groups) for (i=0; i<groups; i++) group[i]=new Array() <?php $pozycja=0; $sql='SELECT DISTINCT miejscowosc FROM oferta'; for ($i=1; $i<=$lPoz; $i++) { ?> <?php } for ($j=0; $j<count($kat); $j++) { $pozycja++; $sql='SELECT DISTINCT miejscowosc FROM oferta WHERE kategoria='.$kat[$j]; ?> <?php for ($i=1; $i<=$lPoz; $i++) { ?> <?php } } ?>
W firefoxie sprawdza się to doskonale, w ie niestety $_POST['miejscowosc'] jest zawsze puste jeżeli zmieni się kategorie, po wybraniu tylko miasta jest ok.
Wygenerowany kod wygląda całkiem dobrze, czyli np:
<select name="miejscowosc" id="miejscowosc" value="wybierz"> <option value="brak" selected="selected">wybierz</option><option value="RUMIA">RUMIA</option><option value="MILWINO">MILWINO</option><option value="DONIMIERZ">DONIMIERZ</option><option value="LUZINO">LUZINO</option><option value="SMOŁDZIŃSKI LAS">SMOŁDZIŃSKI LAS</option><option value="ŁEBA">ŁEBA</option><option value="KOSAKOWO">KOSAKOWO</option><option value="REDA">REDA</option><option value="KŁOBUCZYNO">KŁOBUCZYNO</option><option value="MRZEZINO">MRZEZINO</option><option value="SMOLNO K/PUCKA">SMOLNO K/PUCKA</option><option value="SMOLNO K/ PUCKA">SMOLNO K/ PUCKA</option><option value="GDYNIA">GDYNIA</option><option value="BANINO">BANINO</option><option value="GDAŃSK">GDAŃSK</option><option value="PUCK">PUCK</option><option value="MOSTY">MOSTY</option><option value="DĘBKI">DĘBKI</option><option value="KOLECZKOWO">KOLECZKOWO</option><option value="GRABOWO KOŚCIERSKIE">GRABOWO KOŚCIERSKIE</option><option value="CZECZEWO">CZECZEWO</option><option value="WARZNO">WARZNO</option><option value="BIAŁOGÓRA">BIAŁOGÓRA</option> </select>
Czy da się coś z tym zrobić żeby zaczęło działać w ie?
Czy może powinienem sobie darować JavaScript, odświeżyć strone i dopiero wtedy załadować do selecta odpowiednie wartości?
Z góry dzięki za wszelką pomoc.