Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]skrypt php a wywoływanie funkcji js
-Libertine-
post
Post #1





Goście







Cześć,
podejrzewam że mój problem jest jakiś mega banalny i generalnie zostanę zjechany, ale byłbym mimo to wdzięczny za wyjaśnienie (albo odesłanie do materiałów). Zaczynam dopiero swoją przygodę ze skrypceniem i piszę sobie skrypt w php który generuje jakąś stronę, załóżmy że zawarty na niej będzie jakiś formularz, np:

  1. <?php
  2. echo '<form action="update.php" method="post">';
  3. echo '<br>';
  4. echo "panstwo: <input type=text name=panstwo><br>";
  5. echo "miasto: <input type=text name=miasto><br>";
  6.  
  7. echo '<br><br><input type=submit name=edit value="Edytuj"><br>';
  8. ?>


i dochodzę do wniosku, że poza zmiennymi panstwo i miasto chcę jeszcze przekazać zmienną 'data', z tym że chciałbym żeby była ona wybierana za pomocą odpowiedniej funkcji graficznej. Znalazłem sobie odpowiedni wybierak w bibliotece jquery (http://jqueryui.com/demos/datepicker/). Chciałbym teraz, żeby to umieścić w moim kodzie. I zacząłem się zastanawiać jak to w ogóle zrobić? Nie mogę tego wrzucić w kod, ponieważ php jest wykonywany po stronie serwera, prawda? Więc gdyby to wpisać normalnie, to niejako zmuszałbym js do wykonania się na serwerze? Domyślam się że trzeba na początku dodać

  1. echo '<script type="text/javascript" src="/js/jquery.js">';
  2. echo '</script>';


Ale co dalej? Jak wywołać odpowiednią funkcję w danym miejscu? Może coś robię całkiem zupełnie źle?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Robisz to trochę źle.
  1. <?php
  2. //kod PHP
  3. ?> kod HTML
  4. <?php
  5. //kod PHP
  6. ?>


Czyli w skrócie nie piszesz, żadnych:
  1. <?php
  2. echo '<form action="update.php" method="post">';
  3. echo '<br>';
  4. echo "panstwo: <input type=text name=panstwo><br>";
  5. echo "miasto: <input type=text name=miasto><br>";
  6.  
  7. echo '<br><br><input type=submit name=edit value="Edytuj"><br>';
  8. ?>
, a
  1. <?php kod PHP ?>
  2. <form action="update.php" method="post">
  3. <br>
  4. panstwo: <input type=text name=panstwo><br>
  5. miasto: <input type=text name=miasto><br>
  6.  
  7. <br><br><input type=submit name=edit value="Edytuj"><br>
  8. <?php dalsza część kodu PHP?>


Cytat
I zacząłem się zastanawiać jak to w ogóle zrobić? Nie mogę tego wrzucić w kod, ponieważ php jest wykonywany po stronie serwera, prawda? Więc gdyby to wpisać normalnie, to niejako zmuszałbym js do wykonania się na serwerze?

Nie - najpierw zadziała PHP, a dopiero później będzie działał JS( po stronie użytkownika ). Sprawdź sam, a zobaczysz.
  1. <?php echo("<script>alert(123);</script>");
Go to the top of the page
+Quote Post
-Libertine-
post
Post #3





Goście







Hej, dzięki, to ogromnie pomocne - nauczyłem się kolejnej bardzo ważnej rzeczy (IMG:style_emoticons/default/smile.gif) A odnosząc się do mojego przykładu - czyli powinienem tak naprawdę wywołać funkcję z jQuery spod zwykłego HTMLa, tak? A gdybym potrzebował zrobić to pod php, to wystarczy zrobić to 'normalnie' tylko jako argument echo, tak?
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Cytat
A odnosząc się do mojego przykładu - czyli powinienem tak naprawdę wywołać funkcję z jQuery spod zwykłego HTMLa, tak?

Tak

Cytat
A gdybym potrzebował zrobić to pod php, to wystarczy zrobić to 'normalnie' tylko jako argument echo, tak?

A teraz napisz mi jak byś to zrobił pod PHP (IMG:style_emoticons/default/smile.gif) - co masz na myśli - bo ja tego nie widzę
Go to the top of the page
+Quote Post
-Libertine-
post
Post #5





Goście







Podejrzewam że się jakoś bardzo nieprecyzyjnie wyraziłem - chodziło mi po prostu o wywołanie funkcji. Kiedy sobie już ją odpowiedni zdefiniowałem w headerze to mogę ją wywołać z html
  1. <p>Data: <input type="text" id="popupDatepicker"></p>;


albo z php
  1. echo '<p>Data: <input type="text" id="popupDatepicker"></p>';


I w sumie jedno i drugie działa tak samo. W każdym razie udało mi się osiągnąć sukces (IMG:style_emoticons/default/smile.gif)
Możesz mi jeszcze powiedzieć dlaczego nie powinno się robić tak jak pisałem w pierwszym poście - czyli całości treści strony spod php? To jest zła praktyka? Bo w ten sposób jak pisałem (np. całe formularze w php jako echo) działało poprawnie. Chodzi o to żeby nie dawać za dużo serwerowi do roboty?
Go to the top of the page
+Quote Post
viking
post
Post #6





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Dokładnie. Po co ma echować cały formularz skoro nic w nim nie ma więcej niż goły HTML. CO innego gdybyś potrzebował w tym formularzu generować dodatkowe dane po wysłaniu np dodawać klasę error na błędnych polach. Z tym że wtedy już lepiej użyć jakiegoś systemu szablonów jak http://phptal.org/.
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: 24.08.2025 - 23:07