ngForm在Web应用程序中不起作用,但在jsFiddle中起作用

时间:2014-06-24 23:28:26

标签: angularjs

我正在尝试使用ngForm的$invalid属性来禁用我的应用中的提交按钮。出于某种原因,创建<form>后我应该访问的FormController实例不可用。但是,我将代码移到了jsFiddle,由于某种原因它现在可以正常工作。

以下是jsFiddle

在我的实际应用程序中,控制台中没有错误,我正确地包括angular.min.js,因为其他一切正常。由于代码在两者中基本相同,我对接下来要尝试的内容感到很遗憾。

1 个答案:

答案 0 :(得分:0)

在没有看到控制器中的内容的情况下,这只是猜测,但是当我因为不明原因而无法正常工作的问题时,我通常可以通过在范围内创建一个对象并将所有内容挂起来来解决问题(很多就像你已经完成的那样。)

function Controller($scope) {
    $scope.form = {
        email:'',
        employees:'',
        migDate:''
    };

}

这里的诀窍是你需要同样命名你的表单:

<form name="form.newMigForm" novalidate ng-controller="myControllerName">

然后当你在按钮中检查$ invalid时,你使用相同的约定:

<input id="qaStartForm" ng-disabled="form.newMigForm.$invalid" ng-click="submitNewMigration()" type="button" class="btnOrangeLarge" value="Start" />

当您使用UI模式时,通常会出现此问题,并且它们会告诉您在文档中以这样的方式访问它。我在其他领域成功使用它,解决了困扰我的谜团。