| Autor | Zpráva | ||
|---|---|---|---|
| Nunu Profil |
#1 · Zasláno: 18. 7. 2009, 18:48:28
Ve formuláři potřebuji aby se po vybrání země zobrazil select s kraji ... pomocí tohoto scriptu mi to funguje v Opeře ale ve Firefoxu ne (ostatní prohlížeče na tomto pc nemám, tak nevím). Ve ff se mi zobrazí select bez možností a výpis možností až jako samostatný text za tím. Pokud tam dám např. input vyplní se to normálně ... ví někdo proč to nefunguje?
<script type="text/javascript">
function fkat(typ){
if(typ == "-"){
window.document.getElementById('region').innerHTML = "Vyberte zemi";
} else {
window.document.getElementById('region').innerHTML = '<select name="region"><option value="-"></option>';
var Region = new Array();
Region[1] = new Array('a', 'Hlavní město Praha', 'cze');
Region[2] = new Array('c', 'Jihočeský kraj', 'cze');
Region[3] = new Array('b', 'Jihomoravský kraj', 'cze');
Region[4] = new Array('k', 'Karlovarský kraj', 'cze');
Region[5] = new Array('h', 'Královéhradecký kraj', 'cze');
Region[6] = new Array('l', 'Liberecký kraj', 'cze');
Region[7] = new Array('t', 'Moravskoslezský kraj', 'cze');
Region[8] = new Array('m', 'Olomoucký kraj', 'cze');
Region[9] = new Array('e', 'Pardubický kraj', 'cze');
Region[10] = new Array('p', 'Plzeňský kraj', 'cze');
Region[11] = new Array('s', 'Středočeský kraj', 'cze');
Region[12] = new Array('u', 'Ústecký kraj', 'cze');
Region[13] = new Array('j', 'Vysočina', 'cze');
Region[14] = new Array('z', 'Zlínský kraj', 'cze');
Region[15] = new Array('bb', 'Banskobystrický kraj', 'svk');
Region[16] = new Array('ba', 'Bratislavský kraj', 'svk');
Region[17] = new Array('ke', 'Košický kraj', 'svk');
Region[18] = new Array('nr', 'Nitrianský kraj', 'svk');
Region[19] = new Array('po', 'Prešovský kraj', 'svk');
Region[20] = new Array('tn', 'Trenčianský kraj', 'svk');
Region[21] = new Array('tt', 'Trnavský kraj', 'svk');
Region[22] = new Array('za', 'Žilinský kraj', 'svk');
//vypsani regionů
for(i = 1; i < Region.length; i++){
if(Region[i][2] != typ) continue;
window.document.getElementById('region').innerHTML += '<option value="'+Region[i][0]+'">'+Region[i][1]+'</option>';
}
window.document.getElementById('region').innerHTML += "</select>";
//kdyz nema regiony
if(window.document.getElementById('region').innerHTML == ""){
window.document.getElementById('region').innerHTML = "Nemá regiony";
}
}
}
</script>
...
<tr><td><strong>Země:</strong></td><td><select name='zeme' onchange='value=document.getElementById("region").value;fkat(value)'>
<option value='-'></option>
<option value='cze'>Česká Republika</option>
<option value='svk'>Slovensko</option>
</select></td></tr>
<tr><td><strong>Region:</strong></td><td id='region'>Vyberte zemi</td></tr>
...
|
||
| Chamurappi Profil |
#2 · Zasláno: 18. 7. 2009, 19:42:10
Reaguji na Nunu:
Přiřadíš-li řetězec, do innerHTML, prohlížeč si ho rozebere, vyrobí příslušné elementy, atributy i text a strčí je do příslušného rodiče. Přečteš-li řetězec z innerHTML, prohlížeč se podívá, co je uvnitř za elementy, atributy i text a sestaví z nich řetězec. Není dobrý nápad dávat do innerHTML neuzavřené elementy a je trochu naivní myslet si, že o řádek později při čtení (resp. doplňování existujícího) innerHTML zůstanou pořád neuzavřené. Sestav si celý HTML kód v proměnné a pak teprve jej přiřaď do innerHTML. |
||
| _es Profil |
#3 · Zasláno: 18. 7. 2009, 20:00:23
Nunu
Ináč to pole sa dá zapísať kratšie: var Region = [void 0 ,['a', 'Hlavní město Praha', 'cze'] ,['c', 'Jihočeský kraj', 'cze'] /*...*/ ]; |
||
| Nunu Profil |
#4 · Zasláno: 18. 7. 2009, 20:30:02
|
||
|
Časová prodleva: 16 let
|
|||
0