Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Problem z zrozumieniem podstaw.
ZaXaZ
post
Post #1





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

Ostrzeżenie: (0%)
-----


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.

Ten post edytował ZaXaZ 3.09.2014, 22:40:49
Go to the top of the page
+Quote Post
slash^
post
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 36
Dołączył: 9.04.2003
Skąd: Płock

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #3





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/wink.gif) .
Dzięki.
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


jQuery jest przyjemniejsze jak dla mnie
var pole = $('input[name="poleTekstowe"]').val();
Go to the top of the page
+Quote Post
slash^
post
Post #5





Grupa: Zarejestrowani
Postów: 278
Pomógł: 36
Dołączył: 9.04.2003
Skąd: Płock

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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/
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #6





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

Ostrzeżenie: (0%)
-----


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.

Ten post edytował ZaXaZ 4.09.2014, 13:54:32
Go to the top of the page
+Quote Post
Turson
post
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Cytat
Pytanie: Jak mogę zrobić żeby kod zawsze się wykonywał a nie tylko przy włączeniu strony?

Nie rozumiem
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #8





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

Ostrzeżenie: (0%)
-----


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"?
Go to the top of the page
+Quote Post
Turson
post
Post #9





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Musisz obsłużyć jakieś zdarzenie, np. wysłanie formularza submit.
http://api.jquery.com/category/events/
Go to the top of the page
+Quote Post
PrinceOfPersia
post
Post #10





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 02:47