Having hidden form fields is not the Angular way. You don’t need hidden fields at all, as the all the scope variables (which are not in the form) can be taken as hidden variables.
As for the solution, while submitting the form, just populate the object ‘record’ with ‘user’:
function SaveRecord(){
$scope.record.usersId = $scope.user.userId;
$scope.record.userNameId = $scope.user.userNameId;
http.post(url, $scope.record);
}
As a side note, you do not need to mention your variable while calling the function:
<button ng-disabled="!frmInput.$valid" ng-click="saveRecord()">Accept</button>