MozillaPL.org - polskie centrum Mozilli

Główne menu:

Problem z JS i formularzem, onChange, onClick

Dyskusje na temat standardów WWW i zgłoszenia stron niedziałających poprawnie w przeglądarkach z rodziny Mozilli (w tym Mozilla Firefox)

Moderator: Pomocy?!

Problem z JS i formularzem, onChange, onClick

Postautor: brite » 31 stycznia 2004, 11:09

Przeglądarka: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)

Poniższy kod, mający na celu wyświetlanie w polu input sumy 2 pól select, działa bez zarzutu w IE i w Operze, nie działa zaś ani w Mozilli ani w NS. Jak dla mnie, to kolejny dowód niższości tych dwóch ostatnich przeglądarek. Ale, żeby nie zaczynać jałowych kłótni, pytam - co zrobić, aby uzyskać interesujący mnie efekt w Mozilli (i NS)?

<HTML>
<HEAD>
<TITLE></TITLE>
<META name="description" content="">
<META name="keywords" content="">
<script language="javascript">
function sumuj()
{
formularz.razem.value=parseFloat(formularz.select.value) + parseFloat(formularz.select2.value);
}
</script>
</HEAD>
<BODY>

<form name=formularz action=test.htm method=post>
<select id=select name=select onChange="sumuj();">
<option value="0">--wybierz--</option>
<option value="1">1</option>
<option value="2">2</option>
</select><br>
<select id=select2 name=select2 onChange="sumuj();">
<option value="0">--wybierz--</option>
<option value="1">1</option>
<option value="2">2</option>
</select><br>
<input type=button value=OBLICZ onClick="sumuj();"><input type=text name=razem style="width:70px;">
</form>

</BODY>
</HTML>
brite
 

Postautor: rafau » 31 stycznia 2004, 11:50

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040125 Firebird/0.8.0+

Kod: Zaznacz cały
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <script type="text/javascript">
   function sumuj() {
    razem=document.getElementById("razem");
razem.value=parseFloat(document.getElementById("select1").value) + parseFloat(document.getElementById("select2").value);
   }
  </script>
 </head>
 <body>
  <form id="formularz" action="test.htm" method="post">
    <select id="select1" onChange="sumuj();">
     <option value="0">--wybierz--</option>
     <option value="1">1</option>
     <option value="2">2</option>
    </select><br>
    <select id="select2" onChange="sumuj();">
     <option value="0">--wybierz--</option>
     <option value="1">1</option>
     <option value="2">2</option>
    </select><br>
    <input type="button" value="OBLICZ" onClick="sumuj();">
    <input type="text" id="razem" style="width:70px;">
   </form>
 </body>
</html>

pytam - co zrobić, aby uzyskać interesujący mnie efekt w Mozilli (i NS)?
Nauczyć się HTMLa i JS :oops:
rafau
 
Posty: 6
Z nami od: 10 września 2003, 21:45
Lokalizacja: Wrocław

Postautor: Brite » 31 stycznia 2004, 12:12

Przeglądarka: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)

Dzięki. Dziś pytanie, dziś odpowiedź.

Nauczyć się HTMLa i JS


html piszę w edytorze niewiele bardziej skomplikowanym od notatnika i moje umiejętności na tym polu wystarczają, aby wszystko poprawnie działało w IE, w JS zaś rzeczywiście nie bryluję, ale, jak widać, potrafię coś tam sklecić, żeby działało u 90% odbiorców.
Najwyższy czas stać się uber-mega-geekiem, aby obsłużyć niszowe przeglądarki.

j/k ;-)
Brite
 

Postautor: quiris » 31 stycznia 2004, 14:52

Przeglądarka: Opera/7.50 (X11; Linux i686; U) [en]

Brite pisze:Najwyższy czas stać się uber-mega-geekiem, aby obsłużyć niszowe przeglądarki.

Niekoniecznie. Wystarczy, jeśli nauczysz się poprawnie (zgodnie ze specyfikacją ECMAScript, DOM) posługiwać językiem JS.
quiris
 
Posty: 659
Z nami od: 31 lipca 2002, 06:53

Postautor: zwierz » 31 stycznia 2004, 16:47

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.6b) Gecko/20031210

Brite pisze:Najwyższy czas stać się uber-mega-geekiem, aby obsłużyć niszowe przeglądarki.

Ja bym uważał z tą "niszowościa". Udział Mozilli w odwiedzinach mojej strony wynosi 8,1% (cały czas rośnie), a to zwykła prywatna strona, która z komputerami nie ma nic wspólnego (jeszcze nie :))
zwierz
Moderator
 
Posty: 1915
Z nami od: 31 sierpnia 2003, 10:13
Lokalizacja: Kraków

Re: Problem z JS i formularzem, onChange, onClick

Postautor: Ludwik » 31 stycznia 2004, 18:15

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; PL; rv:1.5) Gecko/20031007 Firebird/0.7 StumbleUpon/1.902

brite pisze:Poniższy kod, mający na celu wyświetlanie w polu input sumy 2 pól select, działa bez zarzutu w IE i w Operze, nie działa zaś ani w Mozilli ani w NS. Jak dla mnie, to kolejny dowód niższości tych dwóch ostatnich przeglądarek. Ale, żeby nie zaczynać jałowych kłótni, pytam - co zrobić, aby uzyskać interesujący mnie efekt w Mozilli (i NS)?


Wprawdzie nigdy nie uczyłem się JS, ale twój błąd jest banalny.
"formularz" nie występuje oczywiscie na samej górze hierarchi obiektów. Jest to formularz wewnątrz dokumentu, więc jest w zbiorze document.forms. I tak musisz się do niego odwoływać. To jak teraz to robisz jest poważnym błędem.
czyli powinno być np.
Kod: Zaznacz cały
document.forms.formularz.select2.value


A cała linijka gdzie leży błąd powinna wyglądac tak:
Kod: Zaznacz cały
document.forms.formularz.razem.value=parseFloat(document.forms.formularz.select.value) + parseFloat(document.forms.formularz.select2.value);


I wtedy całość działa bez problemu :)
Ludwik
Moderator
 
Posty: 2908
Z nami od: 10 marca 2003, 10:05

Postautor: Gość » 31 stycznia 2004, 18:17

Przeglądarka: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)

quiris pisze:(zgodnie ze specyfikacją ECMAScript, DOM)


Welcome to the geekdom.
Gość
 

Re: Problem z JS i formularzem, onChange, onClick

Postautor: Brite » 31 stycznia 2004, 18:33

Przeglądarka: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)

Ludwik pisze:twój błąd jest banalny.


Rzeczywiście, przyznaję, trochę sobie uprościłem. Ale wciąż - dla IE i Opery nie stanowiło to żadnego problemu.
Brite
 

Re: Problem z JS i formularzem, onChange, onClick

Postautor: Ludwik » 31 stycznia 2004, 19:22

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; PL; rv:1.5) Gecko/20031007 Firebird/0.7 StumbleUpon/1.902

Brite pisze:Rzeczywiście, przyznaję, trochę sobie uprościłem. Ale wciąż - dla IE i Opery nie stanowiło to żadnego problemu.


Podstawowa zasada jaka przyświecała Twórcą Mozilli podczas tworzenia tego programu jest to żeby trzymał się specyfikacji. Standardów stworzonych przez odpowednie organizacje.

Trzymanie się standardów jest niezbędne do tego żeby język HTML (Js, xhtml itd.) spełniał swoje podstawowe założenie. Przenośność i niezależnośc od interpretującego go programu. Wyobraź sobie co się dzieje w momencie gdy każdy program interpretuje to po swojemu - jest straszny bałagan, i strony przestają być dostępne dla wszystkich programów. Jedynym wyjściem jest ścisłe trzymanie się specyfikacji danego języka. Własnie dlatego twórcy Mozilli tak postanowili.
A co do IE - osobiście sądzę, że jest to celowe nadużywanie pozycji monopolisty. IE pozwala na różne zupełnie idiotyczne błędy webmasterów. Gdyby tego nie robił strona została by natychmiast poprawiona. A tak mamy strony z błędami, które nie mają nic wspólnego ze standardami języka HTML, tylko wpasowują się w sposób jaki interpretuje strony IE.
Ludwik
Moderator
 
Posty: 2908
Z nami od: 10 marca 2003, 10:05

Postautor: brite » 31 stycznia 2004, 20:57

Przeglądarka: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)

jaki więc zupełnie idiotyczny błąd popełniłem, że w Mozilli kaszani mi się górna część strony http://www.brite.electric-chipmunk.com/

oczywiście błędów na stronie NIEZGODNYCH ZE SPECYFIKACJĄ OMGWTF będą miliony
brite
 

Postautor: zwierz » 31 stycznia 2004, 21:08

Przeglądarka: Mozilla/5.0 (compatible; Konqueror/3.1; Linux)

brite pisze:jaki więc zupełnie idiotyczny błąd popełniłem, że w Mozilli kaszani mi się górna część strony http://www.brite.electric-chipmunk.com/

oczywiście błędów na stronie NIEZGODNYCH ZE SPECYFIKACJĄ OMGWTF będą miliony

Tu masz ich listę:
http://validator.w3.org/check?uri=http% ... unk.com%2F
zwierz
Moderator
 
Posty: 1915
Z nami od: 31 sierpnia 2003, 10:13
Lokalizacja: Kraków

Postautor: Gość » 31 stycznia 2004, 21:26

Przeglądarka: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)



LOL

wpadłem na to dużo wcześniej, i już dawno temu obśmiałem się z walidacji

...required attribute "ALT" not specified ...

...there is no attribute "BGCOLOR" <body bgcolor=#000000 >...

...there is no attribute "BORDER" <img border=0 src...

...there is no attribute "HEIGHT" <table ... height=100% ....

a może ktoś potrafi udzielić rzeczowej odpowiedzi na pytanie, a nie bełkot nazistów z W3C?

[/quote]
Gość
 

Postautor: nutado » 31 stycznia 2004, 21:46

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; PL; rv:1.5) Gecko/20031007 Firebird/0.7

Anonymous pisze:
a może ktoś potrafi udzielić rzeczowej odpowiedzi na pytanie, a nie bełkot nazistów z W3C?


??? Z toba wszystko ok??
nutado
 
Posty: 190
Z nami od: 18 grudnia 2002, 13:45
Lokalizacja: małopolska

Postautor: Ludwik » 31 stycznia 2004, 21:50

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; PL; rv:1.5) Gecko/20031007 Firebird/0.7 StumbleUpon/1.902

Anonymous pisze:...there is no attribute "BGCOLOR" <body bgcolor=#000000 >...


Zadeklarowałeś w DOCTYPE strony "HTML 4.01 Strict", czyli najbardziej rygorystyczną istniejącą wersję HTMLa. W tej wersji nie ma wielu znaczników formatujących, ich efekt powinien być uzyskiwany przez css. Jeśli nie chcesz stosować tej techniki to jej nie deklaruj, zadeklaruj np. "HTML 4.01 Transitional". Twój wybór. Ale jeśli deklarujesz technikę strict to nie dziw się że validator wytyka ci wszystkie odstępstwa od niej. Tych błędów wydaje się być dużo, ale z tego co przejrzałem nie są poważne (oczywiście już po zmianie strict na transitional), drobne niedopatrzenia, których poprawienie nie powinno ci zając więcej niż 10 minut ("zamień wszystkie" Twoim przyjacielem).

I prosze bez żadnych "nazistów", bo myślę że zejście do poziomu pyskówki nie jest dobrym pomysłem. Specyfikacja jest po to żeby wszyscy wiedzieli jak prawidłowo pisać strony (webmasterzy) i je odczytywać (twórcy przeglądarek) jak wyobrażasz sobie funkcjonowanie tego bez jednoznacznych, spisanych, wytycznych?
Ludwik
Moderator
 
Posty: 2908
Z nami od: 10 marca 2003, 10:05

Postautor: brite » 31 stycznia 2004, 22:40

Przeglądarka: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)

ha, problem rozwiązany - wartosci procentowe szerokości i długości komórek/tabel nie były ujęte w double quotes.
Brak tolerancji gekonów jest posunięty do przesady.

Jeżeli nie naziści, to może analno-retentywni puryści?

j/k ;)

Z weekendowym pozdrowieniem

Brite.
brite
 
Posty: 2
Z nami od: 31 stycznia 2004, 21:34

Postautor: athantor » 31 stycznia 2004, 23:09

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040131 Firebird/0.8.0+ (athantor)

brite pisze:Jeżeli nie naziści, to może analno-retentywni puryści?


Umówmy się na "osoby nie tolerujące nieuctwa" :->
Obrazek Obrazek
athantor
 
Posty: 911
Z nami od: 24 grudnia 2002, 15:22
Lokalizacja: Białystok

Postautor: brite » 31 stycznia 2004, 23:38

Przeglądarka: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)

athantor pisze:Umówmy się na "osoby nie tolerujące nieuctwa" :->


Raczej osoby "omg-nasz-parser-nie-przetrawi-kodu-jeżeli-ten-nie-bedzie-napisany-w-jeden-jedyny-możliwy-sposób";
brite
 
Posty: 2
Z nami od: 31 stycznia 2004, 21:34

Postautor: Ludwik » 01 lutego 2004, 00:03

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; PL; rv:1.5) Gecko/20031007 Firebird/0.7 StumbleUpon/1.902

brite pisze:Raczej osoby "omg-nasz-parser-nie-przetrawi-kodu-jeżeli-ten-nie-bedzie-napisany-w-jeden-jedyny-możliwy-sposób";


No owszem :) I jesteśmy z tego dumni ;)
Chyba zgodzisz się, że kod powinien być przez wszystkie parasery "przetrawiany" w identyczny sposób? A jak to osiagnąc jeśli nie formując jasne zasady przetważania? To calła nasza ideologia. Jak najbardziej pragmatyczna ;]
Ludwik
Moderator
 
Posty: 2908
Z nami od: 10 marca 2003, 10:05

Postautor: Olhado/256 » 01 lutego 2004, 00:42

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl-PL; rv:1.6) Gecko/20040113

Tak, jeszcze tylko by nam brakowało anarchistycznych tendencji w Internecie.

"Moja przeglądarka źle wyświetla twoją stronę, bo jej silnik trakuje position:overflow jako position:fixed bo taką zachciankę mieli autorzy. Przygotuj wersję strony działającą pod moją przeglądarką, która jest lepsza niż twoja"

:lol:
Pamiętaj obywatelu: WTYCZKI TO NIE TO SAMO, CO ROZSZERZENIA!
WinXP SP2
Olhado/256
Moderator
 
Posty: 3878
Z nami od: 26 września 2002, 09:47
Lokalizacja: Wrocław

Postautor: Ludwik » 01 lutego 2004, 00:50

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; PL; rv:1.5) Gecko/20031007 Firebird/0.7 StumbleUpon/1.902

Olhado/256 pisze:Tak, jeszcze tylko by nam brakowało anarchistycznych tendencji w Internecie.

"Moja przeglądarka źle wyświetla twoją stronę, bo jej silnik trakuje position:overflow jako position:fixed bo taką zachciankę mieli autorzy. Przygotuj wersję strony działającą pod moją przeglądarką, która jest lepsza niż twoja"

:lol:


To nie jest śmieszne. Było by gdyby nie to, że juz tak mamy. Tylko w druga stronę. "Na mojej stronie jest position:overflow w miejscu gdzie ma być efekt position:fixed. Skoro ja pisze strony odwrotnie to ty używaj przeglądarki, która wyświetla je odwrotnie i nie będzie problemu" ;)
Ludwik
Moderator
 
Posty: 2908
Z nami od: 10 marca 2003, 10:05

Następna

Wróć do Standardy WWW i źle działające strony

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: