Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brak wartości atrybutu action
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
szymo02
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>
trueblue
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.
szymo02
  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
viking
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().
szymo02
Pomogło, dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.