Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Ukrywanie elementów tabeli po zmianie select
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Tycho
Witam mam mały problem, dla kogos bardziej kumatego w temacie Java Script pewnie to banał.

Mianowicie znalazłem kiedys skrypt który ukrywa i pokazuje elementy po wybraniu jakiejś wartości z SELECT. Skrypt pod firefoxem smiga poprawnie... niestety pod IE odmawia współpracy. Mogł by ktoś znający się na JS napisać/doradzic/wskazac drogę ku rozwiązaniu smile.gif tego problemu coby pod IE też smigało.



Kod JS
CODE

<script type="text/javascript">

function addEvent(obj, type, fn) {
if (obj.addEventListener) {
obj.addEventListener(type, fn, false);
} else if (obj.attachEvent) {
obj["e"+type+fn] = fn;
obj[type+fn] = function() {obj["e"+type+fn](window.event); }
obj.attachEvent("on"+type, obj[type+fn]);
}
}



function pokaz(e) {

if(window.event && window.event.srcElement) {
el = window.event.srcElement;
}
if(e && e.target) {
el = e.target;
}
if(!el) {
return;
}

var ukryte = new Array();
var ukryte = ['ksiazka', 'ryczalt', 'karta'];
for (var n = 0; n < ukryte.length; ++n) {
if (ukryte[n] != el.value){
document.getElementById(ukryte[n]).style.display = 'none';
} else {
document.getElementById(ukryte[n]).style.display = 'table-row ';
}
}


(e.preventDefault) ? e.preventDefault() : (e.returnValue = false);

}



function startMagic() {
addEvent(document.getElementById('skarbowka'), "change", pokaz);
}
addEvent(window, "load", startMagic);


</script>








kawalek htmla o który się rozchodzi
CODE

<select id="skarbowka" name="skarbowka">
<option>Wybierz...
</option><option value="ksiazka">Ksiazka Przychodow i Rozchodow
</option><option value="ryczalt">Ryczałt
</option><option value="karta">Karta Podatkowa
</option></select>
</td>
</tr>

<tr><td colspan="2">



<tr id="ksiazka" style="display: none;">
<td>
<span class="asterix">*</span>z Pit-u 36 za ubiegły rok proszę podac pozycje nr 51 lub 54 i 53
lub pozycje 94 lub 97 i 9
</td>
<td>
<textarea name="pit" rows="5"cols="20" ></textarea>
</td>
</tr>









<tr id="ryczalt" style="display: none;">
<td>
<span class="asterix">*</span>przychod z Pit-u 28 za ubiegły rok
</td>
<td>
<input name="pit2" size="20" type="text">


</td>
</tr>




<tr id="karta" style="display: none;">
<td>
<span class="asterix">*</span>Wysokosc stawki podatkowej
</td>
<td>
<input name="pit3" size="20" type="text">
</td>
</tr>
</td>







sciana.gif z góry dziękuje wszystkim ludzią dobrej woli
lord_t
Zamień:
Kod
document.getElementById(ukryte[n]).style.display = 'table-row ';

na:
Kod
document.getElementById(ukryte[n]).style.display = 'block';


Sprawdzałem na IE 6 i 7.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.