Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z document.all w firefox'ie
m.mix
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 21.11.2007

Ostrzeżenie: (0%)
-----


Witam,
musze zrobic funkcje js, ktora umozliwia pokazywanie badz ukrywanie okreslonych elementow na stronie (np kilka wierszy tabeli, ale nie wszystkie). Na poczatek chcialem uzyc funkcji:

CODE
<script type=" text/javascript">
function showHidden(obj){
obj = document.getElementById(obj);
obj.style.display == 'none' ? obj.style.display = '' : obj.style.display = 'none';
}


i nadawac <tr id=jakies> ale problem jest taki, ze gdy nadaje kilku elementom takie samo id to wyswietlany/ukrywany jest tylko pierwszy element. No to troche na okolo zrobilem to w ten sposob:

CODE

function showHidden(typ){
var wszystkie=document.all;
for (i=0; i<wszystkie.length; i++) {
if (wszystkie[i].id==typ) {
obj=wszystkie[i];
obj.style.display == 'none' ? obj.style.display = '' : obj.style.display = 'none';
};
};
}


i ku mojemu zdziwieniu i zadowoleniu funkcja dziala, ale niestety tylko w IE. Domyslam sie, ze problem dotyczy wlasnie document.all, bo wywolanie alert(wszystkie.length); w Mozilli nie pokazuje zadnych wynikow, a w IE pokazuje ilosc obiektow.
Ktos wie w czym tkwi problem? i jak go obejsc?
Go to the top of the page
+Quote Post
SirZooro
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

Ostrzeżenie: (0%)
-----


Firefox stara się być zgodny ze standardami, i stąd te problemy. document.all nie ma w standardzie, więc nie możesz tego użyć, podobnie nie możesz używać takich samych identyfikatorów elementów (muszą być one unikalne). Spróbuj dodawać suffix z numerem do id elementu, i napisać coś w tym stylu:

Kod
function showHidden(typ)
{
  for (n = 1; obj = document.getElementById(typ + '_' + n); ++n)
    obj.style.display == 'none' ? obj.style.display = '' : obj.style.display = 'none';
}


--------------------
Go to the top of the page
+Quote Post
m.mix
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 21.11.2007

Ostrzeżenie: (0%)
-----


heh, dzieki ogromne, faktycznie o tym nie pomyslalem snitch.gif
ja i tak te elementy generowalem dynamicznie wiec dodanie im kolejnych numerkow nie stanowi problemu.. teraz dziala wysmienicie a przeciez takie to proste - for wykonuje sie dopoki drugi element, czyli obj = document.getElementById(typ + '_' + n), jest prawdziwy, a jak tutaj bede zmienial nazwe to przejrzy wszystkie potrzebne mi elementy... ehhh... az mi glupio teraz wstydnis.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 19:24