Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ XML, AJAX _ [jquery js] problem z preventDefault

Napisany przez: martex 10.01.2019, 22:08:39

  1. $( '#submit' ).click( function () {
  2.  
  3. event.preventDefault();
  4. $.ajax( {
  5. url: "send.php",
  6. data: {
  7. 'name': $( '#name' ).val(),
  8. 'email': $( '#email' ).val(),
  9. 'phone': $( '#phone' ).val(),
  10. 'message': $( '#message' ).val()
  11. },
  12. type: 'POST',
  13. success: function ( ) {
  14. $( '.send-message' ).html( 'Wyslano' );
  15. $( '#name' ).val();
  16. $( '#email' ).val();
  17. $( '#phone' ).val();
  18. $( '#message' ).val();
  19. },
  20. error: function ( ) {
  21. $( '.send-message' ).html( 'error' );
  22. }
  23. });
  24. });


TO działa i ładnie nie przeskakuje do kolejnego okienka ale można wysyłać puste wiadomości nie działa required html'owy a taka walidacja mi wystarczy za to poniżej działa walidacja htmlkowa ale przeskakuje do send.php
  1. $('submit').on('click', function (e) {
  2.  
  3. e.preventDefault();
  4. $.ajax( {
  5. url: "send.php",
  6. data: {
  7. 'name': $( '#name' ).val(),
  8. 'email': $( '#email' ).val(),
  9. 'phone': $( '#phone' ).val(),
  10. 'message': $( '#message' ).val()
  11. },
  12. type: 'POST',
  13. success: function ( ) {
  14. $( '.send-message' ).html( 'Wyslano' );
  15. $( '#name' ).val();
  16. $( '#email' ).val();
  17. $( '#phone' ).val();
  18. $( '#message' ).val();
  19. },
  20. error: function ( ) {
  21. $( '.send-message' ).html( 'error' );
  22. }
  23. });
  24. });

Napisany przez: trueblue 10.01.2019, 22:31:10

A wiesz dlaczego w drugim przypadku działa walidacja? Bo nie podpiąłeś kodu do żadnego elementu (nie ma tagu <submit>).
Powinieneś obsłużyć zdarzenie onsubmit formularza, a nie onclick przycisku, bo obecnie najzwyczajniej nie dochodzi do zatwierdzenia formularza, a co za tym idzie do jego wcześniejszej walidacji.

Napisany przez: martex 10.01.2019, 23:47:58

hmmm faktycznie
$('form').on('submit', function (e) .....
zadziałało
dzieki
wink.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)