Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Brak wartości atrybutu action
szymo02
post 20.01.2017, 18:48:00
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.06.2016

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


Cześć,
Stworzyłem sobie prosty formularz kontaktowy który wysyła wiadomość na maila. Jednak gdy wartość action ustawię pustą, to strona jest przewijana na samą górę. Chciałbym, aby po zatwierdzeniu wykonywała się tylko funkcja z ajaxem. Kod:

  1. <form onSubmit="ajax_form();">
  2. Imie i nazwisko<br/>
  3. <input type="text" name="name" size="40"><br/>
  4.  
  5. Email<br/>
  6. <input type="text" name="email" size="40"><br/>
  7.  
  8. Wiadomość<br/>
  9. <textarea name="message" rows="10" cols="60"></textarea><br/>
  10. <input type="submit" value="Wyślij!" class="btn btn-red">
  11. </form>
Go to the top of the page
+Quote Post
trueblue
post 20.01.2017, 18:57:39
Post #2





Grupa: Zarejestrowani
Postów: 5 192
Pomógł: 1439
Dołączył: 11.03.2014

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


Może Twoja funkcja ajax_form próbuje odczytać wartość atrybutu action, ale kiedy jego brak skrypt przerywa działanie, formularz nie jest wysyłany poprzez ajax a cała strona po prostu się przeładowuje.
Szkoda, że nie pokazałeś zawartości funkcji ajax_form.
Go to the top of the page
+Quote Post
szymo02
post 20.01.2017, 18:59:04
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.06.2016

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


  1. function ajax_form() {
  2. $.ajax({
  3. type : "POST",
  4. url : "mail.php",
  5. data : {
  6. name: form_name,
  7. email: form_email,
  8. message: form_message
  9. },
  10. success: function(ret) {
  11. alert('success');
  12. },
  13. complete: function() {
  14. alert('complete');
  15. },
  16. error: function(jqXHR, errorText, errorThrown) {
  17. alert('error: ' + errorText);
  18. }
  19. });
  20. }


Oto on. Dodatkowo, otrzymuję komunikat success, więc kod jset raczej ok

Ten post edytował szymo02 20.01.2017, 19:08:39
Go to the top of the page
+Quote Post
viking
post 20.01.2017, 19:13:17
Post #4





Grupa: Zarejestrowani
Postów: 4 963
Pomógł: 836
Dołączył: 30.08.2006

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


To że dodałeś funkcję na onSubmitnie oznacza że form nie jest normalnie wysłany. W funkcji return true/false a najlepiej przypnij zdarzenie submit poprzez on() i e.preventDefault().


--------------------
Go to the top of the page
+Quote Post
szymo02
post 20.01.2017, 19:24:24
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.06.2016

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


Pomogło, dzięki 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: 15.10.2018 - 16:21