![]() |
![]() ![]() |
![]() |
![]()
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"? (IMG:http://forum.php.pl/style_emoticons/default/mad.gif) pozdrawiam marcin |
|
|
![]()
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... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) 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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Dzięki za poradę! Może masz (inni oczywiście też (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) jeszcze jakieś pomysły, bo mi się wyczerpały... pozdrawiam marcin |
|
|
![]()
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); (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Dostajesz w IE alert z wartością pola formularza?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... (IMG:http://forum.php.pl/style_emoticons/default/mad.gif) mój zapis
działa tak samo jak Twój, a więc chyba można też w ten sposób pisać (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) 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:
|
|
|
![]()
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! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
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) (IMG:http://forum.php.pl/style_emoticons/default/party.gif) 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 |
|
|
![]()
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%) ![]() ![]() |
(IMG:http://forum.php.pl/style_emoticons/default/withstupidsmiley.gif)
oczywiście masz rację... przecież value to inaczej wartość... |
|
|
![]()
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... (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) |
|
|
![]()
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... (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 01:34 |