Advertisement
Guest User

ajax

a guest
Nov 24th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2.       $(function() {
  3.  
  4.         var app = {
  5.           DOM: {},
  6.           init: function(){
  7.  
  8.             //only applies to register form
  9.             if (window.location.pathname == '/register') {
  10.  
  11.               this.DOM.form = $('form');
  12.               this.DOM.form.name  = this.DOM.form.find('input[name="name"]');
  13.               this.DOM.form.email = this.DOM.form.find('input[name="email"]');
  14.               this.DOM.form.pwd   = this.DOM.form.find('input[name="password"]');
  15.               this.DOM.form.pwdc  = this.DOM.form.find('input[name="password_confirmation"]');
  16.  
  17.               this.DOM.form.name.group = this.DOM.form.name.closest('.form-group');
  18.               this.DOM.form.email.group = this.DOM.form.email.closest('.form-group');
  19.               this.DOM.form.pwd.group = this.DOM.form.pwd.closest('.form-group');
  20.  
  21.               this.DOM.form.submit( function(e){
  22.                 e.preventDefault();
  23.  
  24.                 var self = this; // native form object
  25.  
  26.                 error= {};
  27.  
  28.                 app.DOM.form.name.group.find('strong').text('');
  29.                 app.DOM.form.email.group.find('strong').text('');
  30.                 app.DOM.form.pwd.group.find('strong').text('');
  31.  
  32.                 app.DOM.form.name.group.removeClass('has-error');
  33.                 app.DOM.form.email.group.removeClass('has-error');
  34.                 app.DOM.form.pwd.group.removeClass('has-error');
  35.  
  36.                 var user = {};
  37.                 user.name = app.DOM.form.name.val();
  38.                 user.email = app.DOM.form.email.val();
  39.                 user.password = app.DOM.form.pwd.val();
  40.                 user.password_confirmation = app.DOM.form.pwdc.val();
  41.  
  42.                 var request = $.ajax({
  43.                   headers: {
  44.                     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  45.                   },
  46.                   url: '/validate/user',
  47.                   type:'POST',
  48.                   contentType: 'application/json',
  49.                   data: JSON.stringify(user)
  50.                 });
  51.                 request.done( function(data)
  52.                 {
  53.                   //native form submit
  54.                   self.submit();
  55.                 });
  56.  
  57.                 request.fail( function(jqXHR)
  58.               {
  59.                 error = jqXHR.responseJSON;
  60.                 if (error.name) {
  61.                   app.DOM.form.name.group.find('strong').text(error.name[0]);
  62.                   app.DOM.form.name.group.addClass('has-error');
  63.                 }
  64.                 if (error.email) {
  65.                   app.DOM.form.email.group.find('strong').text(error.email[0]);
  66.                   app.DOM.form.email.group.addClass('has-error');
  67.                 }
  68.                 if (error.password) {
  69.                   app.DOM.form.pwd.group.find('strong').text(error.password[0]);
  70.                   app.DOM.form.pwd.group.addClass('has-error');
  71.                 }
  72.               });
  73.             });
  74.             }
  75.           }
  76.         }
  77.         app.init();
  78.       });
  79.     </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement