0

I define a checkbox in angular like this :

<input type="checkbox" id="rememberMe" name="rememberMe" ng-model="model.rememberMe" value="1" />

and in my controller i have :

  app.controller('loginController', function ($http, $scope) {

    $scope.login = function () {
        $scope.model.rememberMe = $scope.rememberMe == undefined ? false : true;       
        $http.post("/Accounts/UserLogin", $scope.model).success(function (response) {
            $scope.message = response;
        });
    }
});

but in console i have an error :Cannot set property 'rememberMe' of undefined, what is the problem?

1
  • 1
    Hard guess you didnt define $scope.model Commented Nov 2, 2015 at 13:29

3 Answers 3

2

You can't define directly

$scope.model.rememberMe
//$scope.model is not defined (=undefined), therefore you get :
//Cannot set property 'rememberMe' of undefined

you have to do

$scope.model = {};  //define object "model"
$scope.model.rememberMe = ... //set property rememberMe of "model"
Sign up to request clarification or add additional context in comments.

Comments

0

I think that your controller should be:

 app.controller('loginController', function ($http, $scope) {
    $scope.model = { rememberMe: false };
    $scope.login = function () {
        $scope.model.rememberMe = $scope.rememberMe == undefined ? false : true;       
        $http.post("/Accounts/UserLogin", $scope.model).success(function (response) {
            $scope.message = response;
        });
    }
});

I hope this help.

Comments

0

maybe you forgot to declare the $scope.model.

First:

$scope.model = {};

After:

$scope.model.rememberMe = $scope.rememberMe == undefined ? false : true;

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.