Задать вопрос
@podvox23

Как из JS передать Angular строку в форму?

Нужно из браузера ввести строку в элемент и отправить форму.
<form class="form-horizontal form-horizontal_search ng-valid ng-valid-required ng-dirty" role="form" name="efBpForm" ng-submit="action.search()" novalidate="">
<input ng-model="searchParameters.agreementNumber" placeholder="" class="form-control form-base__form-control ng-pristine ng-valid clearable" clearable="" name="">

Делаю это следующим образом в консоли chrome devtools:
let elementInput = angular.element('input[ng-model="searchParameters.agreementNumber"]');
elementInput.val('101');
elementInput.scope().$apply();
angular.element('form[ng-submit="action.search()"]').submit();

Визуально input заполняется, форма отправляется, но возвращает результат как будто она была пустая. Я так понимаю Angular просто не видит строку, которую я ввожу. Как заставить его увидеть ее?

PS Angular не знаю совсем. HTML не мой.
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
ratha
@ratha
Front-End Dev
У тебя есть
ng-model="searchParameters.agreementNumber"
тебе не нужно делать
let elementInput = angular.element('input[ng-model="searchParameters.agreementNumber"]');
elementInput.val('101');
elementInput.scope().$apply();

а достаточно :
$scope.searchParameters.agreementNumber = 101;
так как angular имеет двустароний биндинг
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Negwereth
@Negwereth
lvivcss.com.ua
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы