无法在控制器AngularjS中访问表单内容(例如用户名...)

时间:2018-11-29 08:43:12

标签: angularjs

我正在尝试实现注册功能,在该功能中,表单中的用户详细信息将保存到数据库中。为此,我正在尝试访问控制器中的用户名,它提供了未定义的名称。

用户名是:undefined signup.controller.js(13,9)

(function() {
  var app = angular.module("myApp");

  app.controller("registerController", function(registrationService) {
    var self = this;

    self.registrationFormSubmission = function() {
      // $rootScope.id=1;

      var usern = self.username;
      console.log("username is:" + self.form.username);
      self.user = {};
      self.user = {
        id: 1,
        username: self.username,
        firstname: self.firstname,
        lastname: self.lastname,
        email: self.email,
        password: ""
      };

      return self.user;

      registrationService
        .saveUserInfo(user)
        .then(function() {
          self.suceess = "user registered successfully";
          console.log("form submission successful");
          window.alert("form submission successful");
        })
        .then(function() {
          self.failure = "Error occurred while registering user!";
        });
    };
  });
})();
<form name="registerctrl.form" role="form">
    <div class="container-fluid">
        <h4>Register</h4>
        <p>Please fill in this form to create an account.</p>
        <hr>
        <div class="form-group" ng-class="{'has-error':form.username.$dirty && form.username.$error.required}">
            <label for="username">Username:</label>
            <input type="text" class="form-control" id="username" placeholder="Enter username" ng-modal="registerctrl.username" name="username" required>
            <span ng-show="form.username.$dirty && form.username.$error.required" class="help-block">Username is required</span>
            {{form.username}}
        </div>
        <div class="form-group" ng-class="{'has-error':form.firstname.$dirty && form.firstname.$error.required}">
            <label for="firstname">Firstname:</label>
            <input type="text" class="form-control" id="firstname" placeholder="Enter firstname" ng-modal="registerctrl.firstname" name="firstname" required>
            <span ng-show="form.firstname.$dirty && form.firstname.$error.required" class="help-block">Firstname is required</span>
            
            <hr>
            <p>By creating an account you agree to our <a href="#">Terms & Privacy</a>.</p>
            
            <button class="button" ng-click="registerctrl.registrationFormSubmission()">Register</button>
            
            <p>Already have an account? <a href="#!login">Sign in</a>.</p>
        </div>
    </div>
</form>

1 个答案:

答案 0 :(得分:0)

问题似乎出在错别字。

你有

ng-modal="registerctrl.username"

应该是

ng-model="registerctrl.username"