Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Problem z zrozumieniem podstaw.
Forum PHP.pl > Forum > Przedszkole
ZaXaZ
Ucze się JS z http://kursjs.pl i utknąłem już na początku, nie wiem jak zrobić zmienną zawierającą value wysłanego tekstu, próbowałem tak:

  1. <!DOCTYPE html "about:legacy-compat">
  2. <html lang="pl">
  3. <meta charset="UTF-8"/>
  4. <title>Test JS.</title>
  5. <script type="text/javascript">
  6. var pole = document.getElementById('formularz').poleTekstowe.value;
  7. document.write("Tekst " + pole + " pochodzi z pola formularza");
  8. document.write("Czy jestem pewien ze " + pole + " pochodzi z formularza?");
  9. document.write(pole + " - wszystko wskazuje że tak jest");
  10. </script>
  11. </head>
  12. <form method="get" action="?" name="formularz">
  13. <input type="text" name="poleTekstowe"/><br/>
  14. <input type="text" name="inp"/><br/>
  15. <input type="submit" id="sub" value="ok"/>
  16. </form>
  17. </body>
  18. </html>


Według rozdziału http://kursjs.pl/kurs/zmienne.html jednak nie wiem czy zrozumiałem.

Dodałem document.write('test'); nad tamtym skryptem i wyświetla test ale nic wiecej, nawet po wysłaniu formularza.
slash^
Wiec tak:

- kod ktory wpisales w script nie jest zadna funkcja, wiec wykonuje sie tylko raz przy ladowaniu strony, kiedy prawdopodobnie pola formularza sa puste.
- W 7 linijce odwolujesz sie do ID (getElementById) elementu 'formularz', a takiego nie ma gdzy dales mu name formularz a nie id.
- Zainstaluj firebuga.
- lepiej to zrobic przez jquery, sa pierdyliardy przykladow.
ZaXaZ
Cytat(slash^ @ 4.09.2014, 01:02:06 ) *
Wiec tak:

- kod ktory wpisales w script nie jest zadna funkcja, wiec wykonuje sie tylko raz przy ladowaniu strony, kiedy prawdopodobnie pola formularza sa puste.
- W 7 linijce odwolujesz sie do ID (getElementById) elementu 'formularz', a takiego nie ma gdzy dales mu name formularz a nie id.
- Zainstaluj firebuga.
- lepiej to zrobic przez jquery, sa pierdyliardy przykladow.

Niestety nie mam dostępu do kompa o czym pisałem już w jednym temacie.
Ucze sie js wlasnie dla jquery ale troche mi zajmie nauka wink.gif.
Dzięki.
Turson
jQuery jest przyjemniejsze jak dla mnie
var pole = $('input[name="poleTekstowe"]').val();
slash^
Cytat(ZaXaZ @ 4.09.2014, 01:21:45 ) *
Niestety nie mam dostępu do kompa o czym pisałem już w jednym temacie.
Ucze sie js wlasnie dla jquery ale troche mi zajmie nauka wink.gif.
Dzięki.


Bez dostepu do kompa cięzko napisac jakis kod :-)
Tak jak kolega powyzej napisał najprościej się odwołać przez jquery do elementu input z nadanym name.
Dobrze jest znac podstawy js, ale duzo łatwiej i przyjemniej jest pisac w jquery.
Z js przyda Ci sie znajomość tworzenia zmiennych, funkcji i obiektów oraz znajomość Array, Math i Object na początek.

Łap też linka:
http://jsfiddle.net/99b1Lcvt/
ZaXaZ
Dzięki za kody, co do drugiego dodaje za każdym razem kolejny tekst.

Pytanie: Jak mogę zrobić żeby kod zawsze się wykonywał a nie tylko przy włączeniu strony?
Bez tego nie wiedze rezultatu JS, nawet jak pierwszy raz odpalam.
Poza document.write(); chyba ze tamten kurs zle uczy, bo raz pisza o operatorze <= a nizej demonstruja jako =< itd, wiecej takich bledow tam ze az nie wiem co dobrze.
Turson
Cytat
Pytanie: Jak mogę zrobić żeby kod zawsze się wykonywał a nie tylko przy włączeniu strony?

Nie rozumiem
ZaXaZ
Cytat(Turson @ 4.09.2014, 14:58:12 ) *
Nie rozumiem

Cytat(slash^)
- kod ktory wpisales w script nie jest zadna funkcja, wiec wykonuje sie tylko raz przy ladowaniu strony


Chciałbym żeby działało tak jak document.write(); ze caly czas sie wykonuje, czy funkcja jest "ostateczna"?
Turson
Musisz obsłużyć jakieś zdarzenie, np. wysłanie formularza submit.
http://api.jquery.com/category/events/
PrinceOfPersia
Jeśli w kursie każą ci document.write używać to strasznie cienki/przestarzały kurs.
Do testów lepiej console.log pisz, i odpal konsolę JavaScript w przegladarce (Ctrl+Shift+J, F12 itp. albo z menu). Jeśli chcesz cos zmienic w dokumencie, to lepiej użyć albo bezposrednio obiektow DOM (np. wlasciwosci element.innerHTML) albo jQuery czy innej biblioteki.
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.