如果这是我做的事情,我不会这样做,但是一旦我升级到Angular 1.3,我的范围就不再定义该表单了。我的HTML是
<div some-dir>
<form name="myForm">
<!-- Form stuff here -->
<button ng-click="submit();">
</form>
</div>
submit
功能
scope.submit = function() {
console.log(scope.myForm);
}
这会返回undefined。我在任何地方都没有ng-if
或ng-repeat
。此特定指令中只有一个指令和一个范围。同样,这一切都在我升级到Angular 1.3
答案 0 :(得分:11)
可以通过将表单数据放入某个范围对象来解决问题:
<form name="myForms.firstForm">
<!-- Form stuff here -->
<button ng-click="submit();">
</form>
而不是:
scope.myForms = {};
scope.submit = function() {
console.log(scope.myForms.firstForm);
}
此comment中的更多信息。
答案 1 :(得分:2)
在我的情况下,我的表单嵌套在另一个表单中。
因此,一旦我将<form name="myForm">
切换为<ng-form name="myForm" ...>
,表单就已定义。
请参阅ng-form docs。
答案 2 :(得分:1)
遇到同样的问题并通过在包含表单的html模板中声明控制器来修复。所以你的表格声明会变成:
<form name="myForm" ng-controller="SomeController">
新功能&#34;功能&#34; 1.3,可能是..