Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie wartosci z html oraz wyswietlanie wartosci
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Wolfie
Witam

Robie cwiczenie z javascript ale nie moge sobie poradzic choc wczesniej juz to robilem ale od dawna nie korzystalem z javascript i wszystko mi z glowy wylecialo.

Tresc cwiczenia :
Define a function max() that takes two numbers as arguments and returns the largest of them. Use the if-then-else construct available in Javascript.

A tutaj moje wypociny:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>JS ecercice 1</title>
  6.  
  7. <script language="text/javascript">
  8.  
  9. function max(a,b)
  10. {
  11. if(a>b)
  12. {
  13. document.write = a;
  14. }
  15. else
  16. {
  17. document.write = b;
  18. }
  19. }
  20.  
  21. </script>
  22.  
  23.  
  24. </head>
  25. <body>
  26. <input type="button" onclick="max(3,4)"
  27. value="Zwroc wieksza">
  28.  
  29. <script type="text/javascript">
  30. document.write(max());
  31. </script>
  32.  
  33. </body>
  34. </html>


Niestety nie dziala , no i nie wiem gdzie znajduja sie bledy a jest ich napewno z 2 przynajmniej.
I jeszcze taka sprawa, chcialbym pobierac wartosci a i b od uzytkonika a po wcisnieciu przycisku "Zwroc wieksza" wyswietlac ponizej wieksza liczbe.....
skowron-line
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3. <title>JS ecercice 1</title>
  4.  
  5. <script language="text/javascript">
  6.  
  7. function max(a,B)
  8. {
  9. if(a>b)
  10. {
  11. document.getElementById( 'oDiv' ).innerHTML = a;
  12. }
  13. else
  14. {
  15. document.getElementById( 'oDiv' ).innerHTML = b;
  16. }
  17. }
  18.  
  19.  
  20.  
  21. </head>
  22. <input type="button" onclick="max(3,4)"
  23. value="Zwroc wieksza">
  24. <div id="oDiv"></div>
  25.  
  26. </body>
  27. </html>
Wolfie
A jakbym chcial teraz pobrac wartosci a i b od uzytkonika , jakiej struktury musze uzyc ?

uzylem getElementById aby wsadzic wartosc w diva ale niestety nic sie nie dzieje, Twoj kod powyzej nie zdaje egzaminu, wyswietla sie tylko button
ziqzaq
Cytat
A jakbym chcial teraz pobrac wartosci a i b od uzytkonika , jakiej struktury musze uzyc ?

Funkcja prompt. winksmiley.jpg
Cytat
Twoj kod powyzej nie zdaje egzaminu, wyswietla sie tylko button

Kod
function max(a,B)

Tip: Literówka (wielkość liter)?
Taka rada. Nie traktuj wszystkiego jako pewnik tylko sam analizuj kod - każdy może zrobić literówkę winksmiley.jpg

Edit:
PS Polecam Opera + jej konsola lub/i Firefox + Firebug. Od razu wyłapiesz takie małe bugi winksmiley.jpg

Edit2: literówka biggrin.gif
Wolfie
Literowka nie ma z tym nic wspolnego, przerobilem swoj kod w ktorym literowki nie bylo i nie ma i i tak nie dziala.
A co do prompt , to wolalbym pobierac wartosci za pomoca input, jest na to sposob ?
ziqzaq
Kod
pobierz() {
    var a = document.getElementById('a').value;
}
// ...
<input id="a" type="text" name="a" value="" />
<input type="submit" value="Wprowadź" onclick="pobierz(); return false;" />

Można też pobierać wartości nie klikając na przycisk np. po opuszczeniu pola input przez kursor (blur) itd.

Cytat
Literowka nie ma z tym nic wspolnego

Racja. Sam zapomniałem. Nazwij funkcję inaczej np. mmax winksmiley.jpg

Edit:
Co do nazwy funkcji (max) to z tego co zauważyłem to tylko Opera (w FF jest ok) tak dziwnie reaguje (wywala TypeError, oczekuje parametrów jako obiektów a dostaje int). Zdarza się to w wywołaniu funkcji np. w onclick. Jak wywołasz max w head to będzie ok.
Wolfie
Cos mi sie to wszystko bardziej skomplikowane wydaje niz kiedys , mysle ze zrobilem to w prostszy sposob.....ale moge dobrze nie pamietac....moze wtedy pobieralem przez prompt..... dry.gif
ziqzaq
E tam skomplikowane. smile.gif
Chciałeś pobierać z input czyli pobierasz poprostu wartość (value) inputa, a kiedy chcesz to zrobić (onclik, onblur, onchage, czy jeszcze inaczej itd.) to już twoja sprawa.
IMHO prompt to chyba najłatwiejszy sposób, ale nie koniecznie najładniejszy.

A z tą funkcją max to musi być jakiś bug opery bo dziwnie się zachowuje.

Jakbyś sobie przypomniał ten sposób, który kiedyś używałeś to chętnie poznam nigdy za mało informacji.
Może używałeś jakiegoś frameworka, coś w stylu jQuery + ipromptu czy coś w tym stylu?
Wolfie
Uzywalem czysty javascript.....i watpie zeby mi sie to przypomnialo , bo juz probowalem.....a niestety tamto rozwiazanie poszlo z dymem razem z poprzednim systemem.....sam chcialbym je zobaczyc , bo zamiast teraz uczyc sie od poczatku spojrzalbym na to raz i juz bym byl nauczyony poprzez oswiecenie umyslu przypomnieniem czarodziej.gif

Ale tak sobie teraz przejrzalem biblioteke funkcji matematycznych javascript i widze ze jest tam funkcja max() ktora zwraca najwieksza wartosc, wiec teraz juz nie wiem czy trzeba wlasna funkcje w tym cwiczeniu definiowac czy mozna uczyc Math.max()....
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.