assets.cp.scripts.js 1.2 KB

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