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> 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
Post a Comment