Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery,ajax] Wykonanie skryptu php, wyświetlenie nowego tekstu bez odświeżania strony
graft
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 24.03.2007

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


Witam

Mam oto taki kod w head:
  1. <script type="text/javascript" src="jquery.js"></script>
  2.  
  3. <script type="text/javascript">
  4.  
  5. $(document).ready(
  6. function()
  7. {
  8. $("#zapisz").click(
  9. function()
  10. {
  11. $.ajax({
  12. type: "POST",
  13. url: "zapisz.php",
  14. success: function(){
  15. $("#mojdiv").text("działa!");
  16. }
  17. });
  18.  
  19. });
  20. });


oraz w body:
  1. <a href="#" id="zapisz">Zapisz zmiany</a>
  2.  
  3. <div>
  4. <p id="mojdiv">stary tekst</p>
  5. </div>


Wygląda na to, że wszystko działa. Problem pojawił się gdy umieściłem mój link (Zapisz zmiany) wewnątrz FORM:

  1. <FORM NAME="add_user" ACTION="" METHOD="POST">
  2. ...
  3. ...
  4. <a href="#" id="zapisz">Zapisz zmiany</a>
  5. ...
  6. ...
  7. </FORM>


Tym razem po kliknięciu w link, przeładowuje się cała strona - wykonuje się formularz. A tego nie chciałem...

Jak to obejść, ale żeby zachować link z ID wywołującym funkcje wewnątrz FORM'a? może w action coś dopisać?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Pomocy (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Szybki strzał (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Dodaj do wywołania funkcji click return false;
Kod
$("#zapisz").click(
    function()
    {
        //......
            return false;
    }
});

});


Dodanie tego ma zapobiegać wykonywaniu się domyślnej akcji.

Ten post edytował batman 19.10.2007, 17:24:35
Go to the top of the page
+Quote Post
graft
post
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 24.03.2007

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


dzięki Batmanie, właśnie o to chodziło (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

Ten post edytował graft 19.10.2007, 17:52:03
Go to the top of the page
+Quote Post
michalk66
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.01.2011

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


witam,

a czy istnieje sposób aby pobrać jakiś wynik działania skryptu zapisz.php, np. tablicę z błędami, i przekazać ją do strony wywołującej akcję ajax?

Ten post edytował michalk66 24.01.2011, 11:58:33
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




odpowiedź na pytanie: tak.
Go to the top of the page
+Quote Post
michalk66
post
Post #6





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.01.2011

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


(IMG:style_emoticons/default/smile.gif) ,

A możesz erix trochę przybliżyć mi jak to zrealizować, szukałem po necie, ale znalazłem tylko jak przekazać parametry do skryptu.

Z góry dzięki
Go to the top of the page
+Quote Post
everth
post
Post #7





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Poczytaj o JSON. Zapisujesz tablicę JSONem, wysyłasz w odpowiedzi na żądanie AJAX, po stronie JS jest dekodowana jako normalna tablica JS i robisz z nią co chcesz.
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: 23.08.2025 - 05:20