script.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. // Paramètres pour les envois par AJAX
  2. $.ajaxSetup({
  3. headers: {
  4. 'content-type': 'application/json'
  5. }
  6. });
  7. // Gestion des erreurs
  8. $( document ).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
  9. var data = JSON.parse(jqXHR.responseText);
  10. console.log('parsed', data);
  11. $('#alert-box')
  12. .removeClass('hidden')
  13. .removeClass('alert-success')
  14. .addClass('alert-danger')
  15. .html(data.message);
  16. });
  17. $('#register-username')
  18. .change(function(e) {
  19. var inputUsername = $(this);
  20. var username = inputUsername.val();
  21. var re = /^[A-Za-z][A-Za-z0-9_]+$/;
  22. var isUsernameValid = username.match(re);
  23. if(! isUsernameValid) {
  24. inputUsername
  25. .addClass('is-invalid')
  26. .removeClass('is-valid');
  27. return;
  28. }
  29. $.get(
  30. 'http://localhost:3000/jquery/ajax/username-check?username=' + username,
  31. function(response) {
  32. console.log(response.success)
  33. if(response.success) {
  34. inputUsername
  35. .addClass('is-valid')
  36. .removeClass('is-invalid');
  37. }
  38. else {
  39. inputUsername
  40. .addClass('is-invalid')
  41. .removeClass('is-valid');
  42. return;
  43. }
  44. }
  45. );
  46. });
  47. // Soumission du formulaire d'inscription vers le serveur
  48. $('#form-register').submit(function(e) {
  49. var username = $('#register-username').val();
  50. var email = $('#register-email').val();
  51. var password = $('#register-password').val();
  52. var user = {
  53. username: username,
  54. email: email,
  55. password: password
  56. };
  57. var userJSON = JSON.stringify(user);
  58. console.log(user);
  59. console.log(userJSON);
  60. e.preventDefault();
  61. $(this).find('input').val('');
  62. $.post('/jquery/ajax/register', userJSON, 'json');
  63. })
  64. $('#form-login').submit(function(e) {
  65. var email = $('#login-email').val();
  66. var password = $('#login-password').val();
  67. var user = {
  68. email: email,
  69. password: password
  70. };
  71. var userJSON = JSON.stringify(user);
  72. e.preventDefault();
  73. $(this).find('input').val('');
  74. $.post(
  75. '/jquery/ajax/login',
  76. userJSON,
  77. function(data) {
  78. $('#alert-box')
  79. .removeClass('alert-danger')
  80. .addClass('alert-success')
  81. .removeClass('hidden')
  82. .html(data.message);
  83. },
  84. 'json'
  85. );
  86. })
  87. var onglets = $('#onglets li a');
  88. onglets.click(function(e) {
  89. var link = $(this);
  90. onglets.removeClass('active');
  91. link.addClass('active');
  92. var idPanneau = link.data('tab-id');
  93. $('.tab').hide();
  94. $('#' + idPanneau).show();
  95. });