![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 31.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam
Prosze o pomoc w nastepujacej sprawie bo osiwieje. Chcialem skorzystac z funckcji getElementsByName podczas iteracji przez wszystkie pola formularza zeby ukryc odpowiednie elementy. Wszystko dziala ok w firefoxie natomiast w IE nie. Chodzi o kod w tej klauzuli: if(groupElementsCount>parseInt(groupMinRepeats) && groupMinRepeats ){ .. } W firefoxie id elementu grupy elegancko jest wyswietlane natomiast w IE cisza. Czym jest obiekt zwracany przez getElementsByName w IE? Dlaczego nie jest tablica obiektow html tak jak w firefoksie? groupFound.length w FF zwraca 2 (co jest poprawne bo sa dwa takie elementy) w IE 0. Szukalem wczoraj rozwiazania na wlasna reke ale jakos mi nie wyszlo, chyba juz mialem tego dosc. Prosze o pomoc lub wskazowki. Kod if(groupName){ groupMaxRepeats = formElement.getAttribute('group_max_repeats'); groupMinRepeats = formElement.getAttribute('group_min_repeats'); groupActRepeat = formElement.getAttribute('group_act_repeat'); groupElementContainer =document.getElementById('TR_Field_'+fieldName); if(groupMinRepeats){ groupContainer[a++] = fieldParent; } groupElementsCount = array_search(groupContainer,fieldParent); if(groupElementsCount>parseInt(groupMinRepeats) && groupMinRepeats ){ // // O TEN FRAGMENT KODU CHODZI // groupFound = document.getElementsByName(groupName); for( hide=0; hide < groupFound.length; hide++){ // W FF WYSWIETLA TR_Field_ID_... OK // W IE WYSWIETLA NIC!! alert(groupFound[hide].getAttribute('id')); //groupFound[hide].style.display = 'none'; } } else{ formElement.value = parseInt(groupElementsCount); } } SOS -------------------------- sobie poradzilem internet explorer w dosc specyficzny sposób rozumie znaczenie tej funkcji: getElementsById zwraca kolekcje obiektów z takim samym name i id. Jeżli element ma tylko name o okreslonej wartosci nie zostanie przez ta funkcje odnaleziony. Diablo sprytnie wymyślone. Mniej wiecej 3.5 godziny bezzsensownej straty czasu. Ten post edytował hombrerro 15.06.2005, 22:49:00 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 0 Dołączył: 11.09.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
kurcze,....
Ja też na tym poległem, aż se wku.... i zacząłem szukać w necie i natknąłem się na twoja wypowiedz... Bardzo mi pomogła... Pozdrawiam, -------------------- Pozdrawiam,
Sokrates |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 25 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Znalezione, trochę poprawione. Działa ![]() tag jest opcjonalny - zawęża rezultat do danego tagu - poprawia wydajność. Jeśli nie podasz ( np. document.getElementsByName('jakieśName') ) to użyje wildcarda, znaczy sprawdzi wszystkie elementy dokumentu w poszukiwaniu danego name. Ten post edytował paziek 23.07.2008, 14:28:41 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 341 Pomógł: 1 Dołączył: 19.11.2007 Ostrzeżenie: (10%) ![]() ![]() |
A jak użyć tego kodu?
Nie za bardzo kapuje o co w nim chodzi. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:29 |