Autor | Zpráva | ||
---|---|---|---|
Stepanka Profil * |
#1 · Zasláno: 15. 9. 2008, 09:02:26
Ahoj,
prosím neporadil by mi někdo s jedním problémem? Mám 4 selectboxy za sebou, které se rozbalují v závislosti na zadané hodnotě toho předchozího. Jednoduše strom výrobků až do čtvrté úrovně.. Ve FF mi to funguje bez problémů, ale IE 6 ani IE 7 mi nerozbalí žádný selectbox, kromě prvního.. Nevíte někdo proč, případně jak to opravit? Tady v těch úletech prohlížečů se moc nevyznám :-( Ten form přikládám: // Vyhledavani podle kategorie // echo '<b>'.__VYBRAT_KATEGORII_PRODUKT_POMOCI_FILTRU__.': </b><br />'; echo '<br /><form name="form2" method="post" action=""> <select name="id_kat_vyhledavani" size="1">'; $result_s = mysql_query("SELECT * FROM skupiny WHERE web='".$_GET['eshop']."' AND aktivni != '0' ORDER BY str_en") or die(err(1)); echo '<option name="id_kat_vyhledavani" value="0">'.__VYBER__.'</option>'; while ($row_s = mysql_fetch_array($result_s)) { echo '<option name="id_kat_vyhledavani" value = "'.$row_s['id'].'"'; if ($row_s['id'] === $_POST['id_kat_vyhledavani'] OR ($row_s['id'] === $_SESSION['id_kat_vyhledavani'] AND $_POST['id_kat_vyhledavani'] == 0)) { echo 'selected'; } echo ' onclick="javascript: form2.submit();">'; if ($jazyk == 'cz') { echo $row_s['nadpis_cz']; } else { echo $row_s['nadpis_en']; } echo '</option>'; } echo '</select>'; // podkategorie echo '<select name="id_podkat_vyhledavani" size="1">'; $query_ps = "SELECT * FROM podskupiny WHERE web='".$_GET['eshop']."' AND aktivni != '0' "; if (isset ($_SESSION['id_kat_vyhledavani']) AND (!isset($_POST['id_kat_vyhledavani']))) { $query_ps .= " AND id_sk='".$_SESSION['id_kat_vyhledavani']."' "; } if (isset ($_POST['id_kat_vyhledavani'])) { $query_ps .= " AND id_sk='".$_POST['id_kat_vyhledavani']."' "; } $query_ps .= " ORDER BY str_en"; $result_ps = mysql_query ($query_ps) or die(err(1)); echo '<option name="id_podkat_vyhledavani" value="0">'.__VYBER__.'</option>'; if ($_POST['id_kat_vyhledavani'] != 0 OR $_SESSION['id_kat_vyhledavani'] != 0) { while ($row_ps = mysql_fetch_array($result_ps)) { echo '<option name="id_podkat_vyhledavani" value="'.$row_ps['id'].'"'; if ($row_ps['id'] === $_POST['id_podkat_vyhledavani'] OR ($row_ps['id'] === $_SESSION['id_podkat_vyhledavani'] AND $_POST['id_podkat_vyhledavani'] == 0)) { echo 'selected'; } echo ' onclick="javascript: form2.submit();">'; if ($jazyk == 'cz') { echo $row_ps['nadpis_cz']; } else { echo $row_ps['nadpis_en']; } echo '</option>'; } } echo '</select>'; .... a takto jsou ještě dvě další na stejném principu. Mám takové tušení, že "chyba" bude v řádku onclick="javascript: form2.submit();, ale nevím... Poraďte prosím... Mockrát děkuju... |
||
Měsíček Profil |
#2 · Zasláno: 15. 9. 2008, 09:16:38 · Upravil/a: Měsíček
Proč dáváš "javascript:" do události onclick=""? Událost onclick="" už patří javascriptu, mimochodem IE6 i IE7 i IE8 událost onClick="" znají.
|
||
Stepanka Profil * |
#3 · Zasláno: 15. 9. 2008, 09:46:33
Měsíček
Já vůbec nevím, já to tak našla někde na webu, tak jsem to použila. Myslela jsem, že tam ten "javascript:" má být.. Ale i když to slovo vymažu a dám jen "onclick="form2.submit();", tak mi to v IE pořád nefunguje.. Nevěděl bys prosím, kde může být chyba? Jo a moc děkuju za první reakci. |
||
Chamurappi Profil |
#4 · Zasláno: 15. 9. 2008, 10:00:13
Reaguji na Stepanku:
Explorer podporuje událost onclick, ale ne na elementu <option>. Použij událost onchange na <select>u. Reaguji na Měsíčka: „Proč dáváš "javascript:" do události onclick=""? Událost onclick="" už patří javascriptu“ V Exploreru lze pomocí tohoto návěští přepnout skriptovací jazyk. Lze toho také dosáhnout pomocí obecného atributu „language“. Tyto dvě metody určování jazyka pravděpodobně posloužily konsorciu jako inspirace pro „Content-Script-Type“. Pokud ale stránka užívá jenom JavaScript (ne VBScript), je návěští „javascript:“ opravdu zbytečné (a zpravidla i neškodné). |
||
Stepanka Profil * |
#5 · Zasláno: 15. 9. 2008, 10:12:10
Chamurappi
Děkuji za odpověď.. Já když ale vymažu ty události onclick a ke každému selectu přidám onchange="form2.submit();, tak je výsledek ještě horší, než byl.. 1) se v žádném selectboxu neobjeví první option "Vyber" a 2) Při změně toho selectu na nějakou hodnotu se nevypíše žádná nadřazená kategorie ani ve FF, ani v IE :-( Ale i tak moc děkuju za odpověď. |
||
Stepanka Profil * |
#6 · Zasláno: 15. 9. 2008, 10:14:51
Chamurappi
Jéé já jsem tele, mě za tím onchange chyběly uvozovky.. promiň. Teď to s tím onchange funguje bezvadně i v IE... Díky moc!! |
||
Časová prodleva: 16 let
|
0