フォーム送信で無効なフィールドを含む最初のタブにフォーカスしようとしています。最初の入力フィールドに集中できましたが、フィールドが別のタブにある場合は機能せず、どうすれば機能するのかわかりません。
これが私のhtmlファイルです:
<uib-tabset justified="true">
<uib-tab heading="{{ 'PERSONAL_INFORMATION' | translate }}">
inputs...
</uib-tab>
<uib-tab heading="{{ 'BANK_ACCOUNTS' | translate }}">
inputs...
</uib-tab>
<uib-tab heading="{{ 'CONNECTIVITY' | translate }}">
inputs...
</uib-tab>
</uib-tabset>
最初の無効な入力に焦点を当てるディレクティブ:
app.directive('focus', function() {
return {
restrict : 'A',
link : function(scope, elem) {
// set up event handler on the form element
elem.on('submit', function() {
// find the first invalid element
var firstInvalid = elem[0].querySelector('.ng-invalid');
// if we find one, set focus
if (firstInvalid) {
firstInvalid.focus();
}
});
}
};
});
助けていただければ幸いです。