表单中的输入不会传递给控制器​​并保持“未定义”

时间:2015-05-05 14:04:24

标签: javascript angularjs

我最难处理表单并将值传递给控制器​​。我每次都有相同的故事:ng-model和一切都已设置但是控制器不接受我试图传递它的东西,因此给了我var未定义。有人建议如何处理这个以及如何使用Angular正确设置表单?他们的文件非常糟糕!

以下是表单的标记:

<div>
    <form name="thisForm" ng-submit="submit()" class="wa-id-submit-form">

        <label>Submit your number</label>
        <input name="wa_id" ng-model="submission" type="text" class="form-control" required />

        <input type="submit" class="form-control" name="submit" value="Submit" />
    </form>
</div>

这是函数和var我试图将它传递给:

   $scope.submit = function() {
                  var data = {
                      "wa_id": $scope.wa_id
                  };

                  console.log($scope.wa_id);

                  var hookphp = submitIdService.submitId();
                  hookphp.save(data,
                    function(result){
                        console.log(result);
};

这一切的PHP方面都很好用,不需要看。我只需要将一行从输入传递给 data 变量,但事实并非如此。我不是在互相正确地进行ng模型和这样的谈话吗?                     },                     功能(结果){                         console.log('NO GO');                     }                   );               };

2 个答案:

答案 0 :(得分:0)

您应该使用相应的ngModel来访问控制器中的数据,而不是输入名称:

var data = {
    wa_id: $scope.submission
};

答案 1 :(得分:0)

在处理ng-models here

时,我被提醒了一些非常重要的事情

ng-model必须有一个注释才能正常运行。它有可能在没有它的情况下发挥作用,但即使是帮助开发Angular的人也强烈建议将其与#34;。&#34;

一起使用。

以下是我的代码必须完成的事情:

<form ng-submit="submit()" class="wa-id-submit-form">

        <label>Submit your number</label>
        <input name="waid" ng-model="waid.submission" type="text" class="form-control" required />

        <input type="submit" class="form-control" name="submit" value="Submit" />
    </form>

an ng:

$scope.waid = {};

$scope.submit = function() {

var data = {
    "wa_id": $scope.submission
};

var hookphp = submitIdService.submitId();
hookphp.save(data,
function(result){
console.log(result);
},
function(result){
console.log('NO GO');
}
);
};

必须声明一个对象&#34;空&#34;在能够在功能中使用它之前。