我有以下表格:
<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
。
我在哪里弄错了?
隐藏输入的值是正确的。
答案 0 :(得分:40)
隐藏表单字段不是Angular方式。您根本不需要隐藏字段,因为所有范围变量(不在表单中)都可以作为隐藏变量。
至于解决方案,在提交表单时,只需用'user'填充对象'record':
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>
答案 1 :(得分:22)
您可以使用以下内容:
<input type="hidden" ng-model="record.usersId" value="{{user.userId}}" ng-init="record.usersId=user.userId"/>
答案 2 :(得分:3)
隐藏字段不支持双重绑定。
请使用:
<input type="hidden" name="userId" value="{{user.userId}}"/> {{user.userId}}
<input type="hidden" name="UserNameId" value="{{user.userNameId}}"/> {{user.userNameId}}