Подтвердить что ты не робот

Привязать скрытые входы к модели в angular

У меня есть следующая форма:

<form name="frmInput">

    <input type="hidden" ng-model="record.usersId" value="{{user.userId}}"/>
    <input type="hidden" ng-model="record.userNameId" value="{{user.userNameId}}"/>
    <label for="fileNo">AccountId</label>
    <input id="fileNo" ng-model="record.fileNo" required/>
    <label for="madeSad">MadeSad</label>
    <input id="madeSad" ng-model="record.madeSadNo" required/>

    <button ng-disabled="!frmInput.$valid" ng-click="SaveRecord(record)">Accept</button>

</form>

Я получаю record.fileNo и record.madeSadNo в функции SaveRecord, но я не получаю record.usersId и record.userNameId в SaveRecord.

Где я делаю ошибку?

значения скрытых входов являются правильными.

4b9b3361

Ответ 1

Скрытые поля формы не являются Angular. Вам вообще не нужны скрытые поля, так как все переменные области видимости (которые не входят в форму) можно рассматривать как скрытые переменные.

Что касается решения, то при отправке формы просто заполните "запись" объекта "пользователем":

function SaveRecord(){
  $scope.record.usersId = $scope.user.userId;
  $scope.record.userNameId = $scope.user.userNameId;
  http.post(url, $scope.record);
}

В качестве дополнительной заметки вам не нужно указывать вашу переменную при вызове функции:

<button ng-disabled="!frmInput.$valid" ng-click="saveRecord()">Accept</button>

Ответ 2

Вы можете использовать что-то вроде этого:

<input type="hidden" ng-model="record.usersId" value="{{user.userId}}" ng-init="record.usersId=user.userId"/>

Ответ 3

Скрытое поле не поддерживает двойное связывание.

Просто используйте это:

<input type="hidden" name="userId" value="{{user.userId}}"/> {{user.userId}}
<input type="hidden" name="UserNameId" value="{{user.userNameId}}"/> {{user.userNameId}}