1

我正在使用需要支持 IE 8 的 AngularJS 开发 SPA。

在其中一个页面中,我使用<form><ng-form>用于表单验证的嵌套表单:

<form>
    <!-- Some input and checkbox elements -->
    <div class="well" ng-repeat="member in data.teammembers">
        <ng-form name="innerForm">
            <!-- Other repeating form elements -->
        </ng-form>
    </div>
</form>

但是,您现在可能已经知道,在 IE 8 中没有正确处理自定义元素。我现在得到的只是一个空白页面。如果我删除<ng-form></ng-form>,一切都会恢复正常。

我已经<html>这样设置了:

<!DOCTYPE html>
<html xmlns:ng="http://angularjs.org" ng-app="myApp" id="ng-app" ng-cloak>

我还包括了 es5-shim

所以我的问题是:

是否有任何<ng-form>替代方法可以让我在可以在 IE 8 中呈现的嵌套表单中使用表单验证?

4

1 回答 1

2

ngForm指令EAC对通用 html 标记(不是form标记)ngForm API 参考有限制 因此,您可以将 HTML 更改为:

<form>
    <!-- Some input and checkbox elements -->
    <div class="well" ng-repeat="member in data.teammembers">
        <div ng-form="innerForm">
            <!-- Other repeating form elements -->
        </div>
    </div>
</form>

并且更好地赋予name外部形式属性。这种方式可以访问外部窗体的控制器属性和方法。

于 2014-07-26T13:11:36.237 回答