我有以下表格:
<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功能。
record.fileNo
record.madeSadNo
SaveRecord
record.usersId
record.userNameId
我在哪里犯错?
隐藏输入的值正确。
隐藏表单字段不是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>