0

I'm new to angular.js and i have been having trouble getting form input value.

So i have looked for an answer all over including stackoverflow i could not find any answer.

I want to get the input values using the controller but on each attempt i try i get in the console that its undefined on just using either an object or just text

here is the javascript code:

$scope.url = '';
            $scope.user = {
                    password    : '',
                    repassword  : ''
                };

            $scope.registerUser = function()
            {
                $log.info($scope.email);
                $log.info($scope.user);
            }

here is the html code:

<table class="table-responsive">
    <tbody>
        <form class="form-inline" action="" method="post">
            <div class="form-group">
                <tr>
                    <td><label for="email">E-mail</label></td>
                    <td>
                        <div class="input-group">
                            <input type="email" class="form-control" name="email" ng-model="email">
                            <div class="input-group-addon"><span class="glyphicon glyphicon-envelope"></span></div>
                        </div>
                    </td>
                </tr>
            </div>
            <div class="form-group">
                <tr>
                    <td><label for="password">Password</label></td>
                    <td><input type="password" class="form-control" name="password" ng-value="user.password"><td>
                </tr>
            </div>
            <div class="form-group">
                <tr>
                    <td><label for="Repassword">Reenter Password:</label></td>
                    <td><input type="password" class="form-control" name="Repassword" ng-value="user.repassword"></td>
                </tr>
            </div>
            <tr><td><input class="btn btn-default" type="button" value="Register" ng-click="registerUser()"></td></tr>
        </form>
    </tbody>
</table>
2
  • could it be because you are using ng-value instead of ng-model? Commented Sep 12, 2015 at 7:10
  • Welcome to StackOverflow, please accept the answer that has worked for you Commented Sep 12, 2015 at 8:06

1 Answer 1

3

You're using ng-value instead of ng-model:

<input type="password" ng-model="user.password">
<input type="password" ng-model="user.repassword">

You might also want to pass in user to your ng-click for convenience and less typing in the function:

ng-click="registerUser(user)"

$scope.registerUser = function(user) {
  console.log(user);
}
Sign up to request clarification or add additional context in comments.

2 Comments

@Rob It makes for less typing in the function, so I usually do it anyways.
@JohnMuchoki Glad to hear, don't forget to mark it as the answer :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.