angularJs отключение кнопок формы при отправке - PullRequest
0 голосов
/ 20 февраля 2019

в моем приложении Angular 1.x я получаю список предложений через API-интерфейс моего бэкэнда.

Для каждого предложения, возвращенного в ответе, я создаю ng-форму.Затем я отображаю формы в модальном режиме и хочу иметь возможность отключить кнопку отправки каждой формы, когда она была нажата, чтобы избежать нескольких нажатий, в то время как данные формы отправляются на сервер.

Это кажется сложным, посколькуколичество предложений неизвестно, поэтому я не уверен, как можно инициализировать переменную для каждого предложения, чтобы отключить кнопку.

Задача была бы намного проще, если бы у меня был только одинформа, я установил:

$scope.disableButton = true

... затем используйте ng-disabled на кнопке

Таким образом, я отображаю свои формы следующим образом:

<div ng-form ng-repeat="i in offers track by $index" name="messageForm[$index]" class="row ng-cloak">

     ....
     <button type="button" ng-click="offerRespond(messageForm[$index])" ng-disabled="!messageForm[$index].$valid || offer.i.disableButtons">Submit</button>

</div>

Тогда в моей функции offerRespond моего контроллера:

offer = this;
offer.i.disableButtons = true;

Конечно, это не работает, но это настолько близко, насколько я могу.

Хаком было бы проанализировать объект Offers перед передачей.это к интерфейсу, но это просто кажется ужасным хаком.

1 Ответ

0 голосов
/ 20 февраля 2019

На самом деле у меня почти был ответ в моей реализации, я просто ссылался на мои переменные правильно:

ng-disabled="!messageForm[$index].$valid || offer.i.disableButtons"

должно было быть

ng-disabled="!messageForm[$index].$valid || i.disableButtons"

Спасибо @igor за предоставленнуюмне идея проверить, которая позволила мне раскрыть ответ самостоятельно.

...