parse.com - Registering users with Parse Javascript SDK -


the following form template, loaded in header of register.html page , displays in div #register-tpl. displays fine. user prompted register username, email, , password:

<script id="register-tpl" type="text/x-handlebars-template">     <form class="form-register" role="form">         <h1>sign up!</h1>         <h2><span class="typcn typcn-user-add"></span>&nbsp;create account</h2>         <p><input type="text" id="username" name="username" class="form-control" placeholder="username" required="" autofocus=""></p>         <p><input type="password" id="password" name="password" class="form-control" placeholder="password" required=""></p>         <p><input type="text" id="email" name="email" class="form-control" placeholder="email" required="" autofocus=""></p>         <p><button class="button" type="submit">sign up</button></p>         <p>already have account? <a class="app-link" href="admin.html">log in!</a></p>     </form> </script> 

the following javascript code adding new user database:

                var registerview = parse.view.extend({                 template: handlebars.compile($('#register-tpl').html()),                 events: {                     'submit .form-register': 'register'                 },                 register: function(e) {                      e.preventdefault();                      var username = document.getelementbyid('username').value;                          var password = document.getelementbyid('password').value;                     var email = document.getelementbyid('input').value;                      var user = new parse.user();                     user.set("username", username);                     user.set("password", password);                     user.set("email", email);                      user.signup(username, password, email, {                          success: function(user) {                             var welcomeview = new welcomeview({ model: user });                             welcomeview.render();                             $('.register-container').html(welcomeview.el);                         },                          error: function(user, error) {                             console.log(error);                         }                     });                 },                 render: function(){                     this.$el.html(this.template());                 }             }); 

does have idea why not submitting required information? it's not recognizing creation of new user on parse dashboard. there fundamentally flawed here? thanks, , appreciated!

the solution involved specifying form submitted in success callback: document.getelementbyid("user-add").submit(). had common spelling mistake when setting field variables. should have read var username = form.username.value; instead of username = document.username.value;!

            var registerview = parse.view.extend({                 template: handlebars.compile($('#register-tpl').html()),                 events: {                     'submit .user-add': 'register'                 },                 register: function(e){                     e.preventdefault();                      user = new parse.user();                      var form = document.getelementbyid("user-add");                      var username = form.username.value;                     var password = form.password.value;                     var email = form.email.value;                      user.set("username", username);                     user.set("password", password);                     user.set("email", email);                      user.signup(null, {                         success: function(user) {                             form.submit();                             window.location.href = 'admin.html';                         },                         error: function(user, error) {                             alert("error: " + error.code + " " + error.message);                         }                     });                 },                 render: function(){                     this.$el.html(this.template());                 }             }); 

Comments