Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP][AJAX]Problem przy przesyłaniu danych z formularza
sebap123
post 16.11.2011, 21:53:34
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Witam,

Mam problem ze skryptem JS który obsługuje AJAXa na mojej stronie.
Rzecz w tym, że najpierw próbowałem sam coś wymyślić. Ponieważ caly czas miałem jak się okazuje taki sam błąd jak teraz postanowiłem poszukać czegoś w internecie. Tak więc znalazłem parę gotowych skryptów. Pobrałem ten, ktory mi najbardzije pasował. Naniosłem na nim swoje poprawki i myślałem, że się uruchomi (poprawki nie były jakieś znaczące). Jednak nadal nic. Na stronie jednak na której to znalazłem, wszystko działa.
Byłbym wdzięczny, gdyby komuś zechciało się rzucić okiem na kod i powiedzieć, gdzie popełniam błąd.

Cala strona jest dostępna tutaj:
http://sebastianperyt/javascript/test.html

A tak wygląda plik test2.php:
  1. echo $_POST['napis'];


Ten post edytował sebap123 17.11.2011, 10:28:43
Go to the top of the page
+Quote Post
gorden
post 16.11.2011, 22:08:49
Post #2





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


może spróbuj jakiegoś gotowego rozwiązania, jak jquery? w swoim js użyłeś 68 linijek. w jquery będzie to wyglądać tak:
[JAVASCRIPT] pobierz, plaintext
  1. $('#wyslij').click(function() {
  2. $.post('test2.php', {
  3. napis: $('#test').val()
  4. }, function(data) {
  5. $('#div1').text(data);
  6. });
  7. });
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
sebap123
post 16.11.2011, 22:32:16
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


No nad jQuery myślałem i zgodnie z twoja propozycja dodałem do swojego projektu (jest pod linkiem http://sebastianperyt/javascript/testJQ.html), nie jestem tylko pewien czy dodałem poprawnie jako że, raczej jQuery nie używam, dlatego praktycznie go nie znam. Skrypt jednak "odmawia posłuszeństwa".

Jednak w tym wypadku tj. wysyłanie nagłówków między stronami bardziej opłaca mi się zrobić to na swoim pliku. Są dwa powody ku temu - rozmiar pliku, gdzie w moim przypadku jest to niemal 90:1 na korzyść mojego pliku, a także mój brak pewności co do tego, czy w dalszej części strony będę korzystał z tej biblioteki - wtedy rozmiar miałby mniejsze znaczenie.

Tak więc może ma ktoś jakiś pomysł co innego mogę poprawić w swoim pliku, lub jQuery, żeby działało jak działać powinno?

Ten post edytował sebap123 17.11.2011, 10:28:28
Go to the top of the page
+Quote Post
gorden
post 16.11.2011, 22:45:38
Post #4





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


-usuń <form>, niepotrzebny. odświeża stronę niepotrzebnie
-<script> daj do head, pod src jquery
-i w końcu, linia 3 mojego kodu. zamień #test na #tekst. chodzi tutaj o id inputa z tekstem, mój błąd.
Go to the top of the page
+Quote Post
sebap123
post 16.11.2011, 23:03:56
Post #5





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


1. Średnio rozumiem, poco to robić, skoro formularz służy do wysyłania danych, a ten skrypt tutaj ma weryfikować w locie czy wszystko jest ok? To jak i gdzie dodam action i method? - aktualnie usunąłem
2. Zrobione
3. To już zauważyłem na początku i było od początku poprawione - już tak ciemny w tej kwestii nie jestem. Po prostu nie jestem zbytnio zaznajomiony ze składnia jQuery.

Pomimo powyższych trzech punktów, skrypt nadal nie działa.
Go to the top of the page
+Quote Post
gorden
post 16.11.2011, 23:21:04
Post #6





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


spróbuj przepisać skrypt jQuery od nowa, nie kopiując.

Cytat
To jak i gdzie dodam action i method?

http://api.jquery.com/jQuery.ajax/
http://api.jquery.com/jQuery.get/
http://api.jquery.com/jQuery.post/

Ten post edytował gorden 16.11.2011, 23:22:51
Go to the top of the page
+Quote Post
sebap123
post 17.11.2011, 09:30:23
Post #7





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Coś mi wygląda, że błąd może leżeć w zupełnie innym miejscu, a mianowicie gdzieś na wysyłaniu samych danych. Teraz dałem prosty kod:
[JAVASCRIPT] pobierz, plaintext
  1. $("#wyslij").click(function(){
  2. $("#div1").text("napis");
  3. });
[JAVASCRIPT] pobierz, plaintext

który na mój rozum, oznacza że po naciśnięciu wyślij w divie o id div1 pojawi się napis napis. Jednak to nie działa. Chyba w jakiś sposób ten przycisk generuje błąd.

Czy może mi ktoś coś doradzić?
Go to the top of the page
+Quote Post
nospor
post 17.11.2011, 09:37:54
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




NIe: $("#div1").text("napis");
a: $("#div1").html("napis");


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sebap123
post 17.11.2011, 09:50:09
Post #9





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Nadal nic. Między innymi tez dlatego nie używam jakoś jQuery. Niby proste, a jednak trudne. Może ktoś ma jakiś pomysł dot. pierwszej wersji skryptu, lub jak naprawić te nieszczęsne jQuery?
Go to the top of the page
+Quote Post
nospor
post 17.11.2011, 09:54:38
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo to jest proste i banalne, tylko jak ktoś się za to zabiera bez poznania podstaw to nic dziwnego że nie działa.

ten kod:
$("#wyslij").click(function(){
$("#div1").html("napis");
});

Odpalasz, gdy jeszcze nie ma guzika $wyslij wiec nic dziwnego ze ci się zdarzenie do niego nie przypina, skoro nie ma do czego.
Doczytaj w dokumentaji jQuery jak należy pisać, by kod wykonywał się dopiero po załadowaniu strony, gdy wszytkie elementy już są. To jest pierwsze z podstawowych zagadnień jQuery opisane zaraz na początku.

http://docs.jquery.com/How_jQuery_Works


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sebap123
post 17.11.2011, 10:27:56
Post #11





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Dobra, teraz już działa
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 09:02