![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
witam,
może ktoś z Was mi powie, dlaczego to poniżej działa w Operze a w IE nie?
instrukcja ma zadanie sprawdzać, co zostało wybrane w polu <SELECT>. jeśli któryś z wpisów, to ma wyrzucać alert. czy spowodowane to jest złą składnią czy tym, że IE obsługuje JS "na swój sposób"? ![]() pozdrawiam marcin -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj pozamykać warunku IF w oddzielne nawiasy. Może to pomoże.
Tak pozatym to troche kiepska składnia (FF nie wyrzuca Ci ostrzeżeń - to znaczy Warningów)? moim znamien powinieneś dać if ((document.forms['formzgl'].prodagd.value=='coś')||(document.forms['formzgl'].prodagd.value=='coś')){ //cos tam } -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Probowałem też w ten sposób (zamykając IF-y w osobne nawiasy) - dla Opery jest to bez różnicy.
Wiem, że Opera mocno wspomaga niedokształconych w pisaniu skryptów i przymyka Oko na drobne błędy... ![]() Nawet, jeśli włączę w Operze opcję otwierania konsoli w momencie wystąpienia błędu w JS, to nic mi nie wyrzuca, więc (teoretycznie) ze skryptem jest wszystko w porządku... Nie wiem, szczerze mówiąc, jaka powinna być prawidłowa składnia. Spotkałem się właśnie z taką składnią. Co do zastosowania
, to dla Opery też to nie robi różnicy... Nawet, jeśli zostawię jeden warunek:
to w IE nie działa. Czyściłem oczywiście pamięć podręczną przeglądarki po każdej zmianie wprowadzanej w pliku ze skryptem, żeby nie było, że ładuje stary skrypt ![]() Dzięki za poradę! Może masz (inni oczywiście też ![]() pozdrawiam marcin -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
W pełni poprawna składnia to:
Kod document.forms['formzgl'].elements['prodagd'].value chociaż to nie rozwiąże problemu. Błąd musi chybależeć gdzieś indziej.Próbowałeś przed linijką z if() zrobić coś takiego: Kod alert(document.forms['formzgl'].elements['prodagd'].value); ![]() Jak coś, to podaj kod HTML formularza oraz sposób wywołania funkcji i jej pełny kod. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
a napewno dobre wartosci badasz z pola select?
spróbuj może Kod alert(document.forms['formzgl'].elements['prodagd'].text);
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@wipo
wyrzuca alert undefined. @Zajec
wyrzuca pusty alert w IE, i alert z prawidłową wartością w Operze... ![]() mój zapis
działa tak samo jak Twój, a więc chyba można też w ten sposób pisać ![]() ale my nie o tym... różnica jest tylko taka, że IE nieprawidłowo przepuszcza dalej, natomoast Opera prawidłowo zatrzymuje wykonywanie skryptu na tym polu (po wyrzuceniu alertu ustawiam na tym polu fokus). podaję kod formularza: i podpięty skrypt:
-------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Zamień document.....value na text albo daj w polu
<option value="jakas wartosc"> text </option> i wtedy badaj value text podaje Ci opis pola a value jego wartość -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@wipo jesteś geniuszem!
![]() podsunąłeś mi pomysł, który okazał się kluczem... powinno być: i sprawdzenie:
a co było błędem? sprawdzałem value, którego nie określiłem w option (w ogóle go nie dałem) ![]() a tak na marginesie, to chyba powinno być odwrotnie: [..] text podaje Ci opis pola a value jego wartość a nie tak? text podaje Ci wartość pola a value jego opis -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca
Kod <option value="wartość"> Opis </option> ^^^^^^ ^^^^^^ value text Chyba będzie to czytalne Ten post edytował wipo 1.10.2006, 08:56:39 -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
![]() oczywiście masz rację... przecież value to inaczej wartość... -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzę to zachowanie Opery, jeśli faktycznie dzieje się tak w dokumencie strict to zgłoszę jako bug.
A gdyby ktoś chciał sprawdzać text, to należy użyć konstrukcji .elements['pole'].innerText |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
no właśnie...
skąd opera wiedziała, jaki był wybór, jeśli nie miała na podstawie czego sprawdzać?! tzn. sprawdzałem value, a przecież nie była ona określona dla <option>, bo jej w ogóle nie wstawiłem? brała pod uwagę text? ale rokendrol... ![]() -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
no właśnie... Tak właśnie robiła. Niestety to są efekty prób bycia kompatybilnym z IE. Czasami aż przerasta IE.
skąd opera wiedziała, jaki był wybór, jeśli nie miała na podstawie czego sprawdzać?! tzn. sprawdzałem value, a przecież nie była ona określona dla <option>, bo jej w ogóle nie wstawiłem? brała pod uwagę text? ale rokendrol... ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 3.05.2025 - 05:33 |