Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][AJAX]Jak wysłać form bez przeładowania
denis95x
post 6.10.2016, 09:28:07
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


Witam wszystkich,

nie mogę sobie poradzić, żeby po wciśnieciu entera wysyłało mi poniższy formularz, ale bez przeładowania.

Gdzie błąd, co zmienić? HELP!

Formularz:
  1. <form method="POST" action="">
  2. <div class="input-group">
  3. <input class="form-control" id="tresc_komentarza" name="tresc_komentarza" placeholder="Wpisz notatkę lub komentarz...">
  4. <div class="input-group-btn">
  5. <input type="button" class="btn btn-success" id="wyslij" name="wyslij" value="zapisz" />
  6. </div>
  7. </div>
  8. </form>


Kod JS:

[JAVASCRIPT] pobierz, plaintext
  1. jQuery(document).ready(function() {
  2. $(document).on("submit", "#wyslij", function () {
  3.  
  4. var id_polaczenia = <? echo $id3; ?>;
  5. var id_user = <? echo $admin_online[id]; ?>;
  6. var tresc_koment = $('#tresc_komentarza').val();
  7.  
  8. $.ajax({
  9. url: "pages/send_msg.php",
  10. type: "POST",
  11. data: 'id_pol=' + id_polaczenia + '&id_us=' + id_user + '&tresc_msg=' + tresc_koment,
  12. success: function(msg) {
  13. $('#tresc_komentarza').val('');
  14. }
  15. });
  16.  
  17. });
  18.  
  19. });
[JAVASCRIPT] pobierz, plaintext


Domyślam się, że chodzi o tek fragment albo coś w formie

$(document).on("submit", "#wyslij", function () {

Ten post edytował denis95x 6.10.2016, 09:34:24
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 09:32:00
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


https://api.jquery.com/event.preventdefault/


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
denis95x
post 6.10.2016, 09:33:58
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


Ale jak to zastosować do przesłania forma enterem i kliknięciem w button, ale bez odświeżenia strony ?
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 09:40:43
Post #4





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


utwórz event dla forma np.
  1. $( "form" ).submit(function( e) {});

Chyba że nadasz mu id:
  1. $( "#mojformularz" ).submit(function( e) {});

wtedy nie będzie zależności jak została wywołana wysyłka formularza


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
denis95x
post 6.10.2016, 10:21:35
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


Nooo okej, działa, ale dalej odświeża stronę sad.gif
Go to the top of the page
+Quote Post
Kishin
post 6.10.2016, 10:30:16
Post #6





Grupa: Zarejestrowani
Postów: 148
Pomógł: 17
Dołączył: 20.12.2011

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


tak z ciekawości, czemu on submit, a nie on click?
Go to the top of the page
+Quote Post
denis95x
post 6.10.2016, 10:32:22
Post #7





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


zmienione już na

[JAVASCRIPT] pobierz, plaintext
  1. jQuery(document).ready(function() {
  2.  
  3. $( "#newkomentarz" ).submit(function(e) {
  4.  
  5.  
  6. var id_polaczenia = <? echo $id3; ?>;
  7. var id_user = <? echo $admin_online[id]; ?>;
  8. var tresc_koment = $('#tresc_komentarza').val();
  9.  
  10. $.ajax({
  11. url: "pages/send_msg.php",
  12. type: "POST",
  13. data: 'id_pol=' + id_polaczenia + '&id_us=' + id_user + '&tresc_msg=' + tresc_koment,
  14. success: function(msg) {
  15. $('#tresc_komentarza').val('');
  16. }
  17. });
  18.  
  19. });
  20.  
  21. });
[JAVASCRIPT] pobierz, plaintext


Chciałbym, żeby wysyłało zarazem po wciśnieciu entera jak i kliknięciu "zapisz"
Go to the top of the page
+Quote Post
viking
post 6.10.2016, 10:54:25
Post #8





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

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


Żeby mieć czytelne w data przekaż obiekt -> data: {id_pol: id_polaczenia, id_user: ...}.
Success jest przestarzałe w v3. Teraz się używa http://api.jquery.com/deferred.done/
I jeszcze input type=submit.

Ten post edytował viking 6.10.2016, 11:07:24


--------------------
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 10:56:49
Post #9





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


A to gdzie masz w swoim kodzie?
https://api.jquery.com/event.preventdefault/


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
denis95x
post 6.10.2016, 11:09:49
Post #10





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


Przyznam sie szczerze, że nie bardzo wiem jak to zastosować :/
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 11:13:40
Post #11





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


Dodaj po prostu do funkcji, która jest pod submit...
  1. jQuery(document).ready(function() {
  2.  
  3. $( "#newkomentarz" ).submit(function(e) {
  4. e.preventDefault();
  5.  
  6. var id_polaczenia = <? echo $id3; ?>;
  7. var id_user = <? echo $admin_online[id]; ?>;
  8. var tresc_koment = $('#tresc_komentarza').val();
  9.  
  10. $.ajax({
  11. url: "pages/send_msg.php",
  12. type: "POST",
  13. data: 'id_pol=' + id_polaczenia + '&id_us=' + id_user + '&tresc_msg=' + tresc_koment,
  14. success: function(msg) {
  15. $('#tresc_komentarza').val('');
  16. }
  17. });
  18.  
  19. });
  20.  
  21. });


ps.
mam nadzieję, że dla formularza w html nadałeś id newkomentarz?

Ten post edytował emstawicki 6.10.2016, 11:14:57


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
denis95x
post 6.10.2016, 12:16:33
Post #12





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


Tak, dzięki już inaczej to rozwiązałem smile.gif
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: 25.07.2025 - 11:17