我有以下结构
<div id="contractTab" class="ui top attached large tabular menu">
<a id="main-tab" class="item active" data-tab="first" ng-show="ctrl.currentTabsGroup == 'main'">some data</a>
<a id="supplier-tab" class="item" data-tab="third" ng-show="ctrl.currentTabsGroup == 'supplier'">some data2</a>
<a id="position-tab" class="item" data-tab="fourth" ng-show="ctrl.currentTabsGroup == 'position'">some data3</a>
<a class="item" data-tab="second" ng-show="ctrl.currentTabsGroup == 'main'">some data4</a>
</div>
每个标签看起来像
<div class="ui bottom attached tab segment" data-tab="third">
<div class="ui basic segment">
<ng-form name="supplierForm">
...
</ng-form>
</div>
</div>
每个表单都需要很多字段。问题是,当我尝试在此表单处于活动状态时(屏幕上)验证表单时,我发现它无效。例如,
supplierForm.$valid == false但是,如果我移动到不同的形式,一切都显然会消失,我得到
supplierForm.$valid == true
有没有办法连接所有这些表单,以免丢失数据?
更改标签
时调用此功能resetFormObject(formName);
$s[formName].$setPristine();
$timeout(function() {
document.getElementById(tabId).click();
}, 20);
其中resetFormObject只是初始化活动对象,以便在提交表单时发送它