Autor Zpráva
Stepanka
Profil *
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
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 *
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
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 *
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 *
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!!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: