TypeError:无法读取属性' userid'未定义的

时间:2016-08-04 08:22:57

标签: javascript angularjs ionic-framework

我收到错误" TypeError:无法读取属性' userid'未定义"

这是我的控制器

.controller('tambahTemanCtrl',function($scope,$ionicPopup,temanService){
$scope.showAlert = function(msg) {
  $ionicPopup.alert({
      title: msg.title,
      template: msg.message,
      okText: 'Ok',
      okType: 'button-positive'

  });
};

$scope.simpan = function (){
    if (!$scope.datateman.userid){
        $scope.showAlert({
            title: "Information",
            message: "UserID cant be blank"
        });
else{ 
var data = {
Userid: $scope.datateman.userid,
Address: $scope.datateman.address,
Employeeid: $scope.datateman.employeeid,
Email: $scope.datateman.email,
Phoneno: $scope.datateman.phoneno,
Password: $scope.datateman.password,
Division: $scope.datateman.division,
Leavebalance: $scope.datateman.leavebalance
};
var dataCollection = [];
for(var item in data){
if(data.hasOwnProperty(item)){
    dataCollection.push(data[item]);        
}
}
var DTO = {
Value: dataCollection.join('|')
};
//do not use success. its obsolete
temanService.create(DTO).then(function(response){
},function(response){
//error
});
    }

};

});

这是我的HTML

<ion-header-bar class="bar-positive">
    <h1 class="title">Add User</h1>
</ion-header-bar>
<ion-content class="padding">
  <form>
    <ion-list>
        <label class="item item-input">
            <input type="text" ng-model="datateman.userid"   placeholder="UserID">
        </label>
        <label class="item item-input">
            <input type="text" ng-model="datateman.fullname" placeholder="Fullname">
        </label>
        <label class="item item-input">
            <input type="text" ng-model="datateman.password" placeholder="Password">
        </label>
    </ion-list>
    <div class="spacer" style="height: 5px;"></div>
    <button class="button icon ion-person-stalker button-balanced button- block" ng-click="simpan();"> Save</button>
  </form>
  </ion-content>

当我运行代码时会发生这种情况。 我正在使用离子框架和视觉工作室代码。 你能告诉我,我做错了吗? 感谢您的帮助

1 个答案:

答案 0 :(得分:3)

在检查其属性的有效性之前,应首先初始化datateman对象。像这样:

$scope.datateman = {};

$scope.simpan = function (){

//the interpreter looks for 'datateman' object in order to check for 'userid' existence
    if (!$scope.datateman.userid){ 
        $scope.showAlert({
            title: "Information",
            message: "UserID cant be blank"
        });