assets.cp.scripts.js 961 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. $(document).ready(function() {
  2. $('form').each(function() {
  3. $(this).submit(function(e) {
  4. var form = $(this);
  5. if($(form).hasClass('loading')) {
  6. e.preventDefault();
  7. return;
  8. }
  9. $(form).addClass('loading');
  10. var button = $(this).find('button[type=submit]');
  11. $(button).addClass('progress-bar-striped').addClass('progress-bar-animated');
  12. $.ajax({
  13. type: "POST",
  14. url: form.attr('action'),
  15. data: form.serialize()
  16. }).done(function(data) {
  17. try {
  18. eval(data);
  19. } catch(e) {
  20. if(e instanceof SyntaxError) {
  21. console.log('JavaScript eval error:', e.message);
  22. console.log(data);
  23. }
  24. }
  25. }).fail(function() {
  26. console.log('Form send fail, page will be reloaded');
  27. window.location.reload(false);
  28. }).always(function() {
  29. $(form).removeClass('loading');
  30. $(button).removeClass('progress-bar-striped').removeClass('progress-bar-animated');
  31. });
  32. e.preventDefault();
  33. });
  34. });
  35. });